public void AddUserWithCustomProperties()
{
Guid userId = Guid.NewGuid();
const string userName = "user";
const string emailName = "email";
const string emailValue = "[email protected]";
const string addressName = "address";
const string addressValue = "street 123";
var customProperties = new List<KeyValuePair<string, string>>
{
new KeyValuePair<string, string>(emailName, emailValue),
new KeyValuePair<string, string>(addressName, addressValue)
};
sut.AddUser(userId, userName, customProperties);
sut.SaveChanges();
using (DbContext readContext = new DbContext())
{
User user = readContext.Users.Include(u => u.CustomProperties).Single();
Assert.AreEqual(userId, user.Id);
Assert.AreEqual(userName, user.Name);
Assert.AreEqual(2, user.CustomProperties.Count);
Assert.IsNotNull(user.CustomProperties.SingleOrDefault(c => c.Name == emailName && c.Value == emailValue));
Assert.IsNotNull(user.CustomProperties.SingleOrDefault(c => c.Name == addressName && c.Value == addressValue));
}
}