public void GivenConfirmedUsersWhenGetPropertyValuesWithValidColumnsThenPropertyReturnedSuccessfully(
string providerName, string membershipProviderName)
{
// arrange
var testClass = this.WithProvider(providerName);
var memProvider = this.WithMembershipProvider(membershipProviderName);
var user = memProvider.WithConfirmedUser().Value;
var context = new SettingsContext();
context["UserName"] = user.UserName;
var properties = new SettingsPropertyCollection();
if (memProvider.AsBetter().HasEmailColumnDefined)
{
properties.Add(
new SettingsProperty(memProvider.AsBetter().UserEmailColumn) { PropertyType = typeof(string) });
}
properties.Add(new SettingsProperty(memProvider.AsBetter().UserIdColumn) { PropertyType = typeof(int) });
// act
var profile = testClass.GetPropertyValues(context, properties);
// assert
Assert.That(profile, Is.Not.Null);
Assert.That(profile[memProvider.AsBetter().UserIdColumn], Is.Not.Null);
Assert.That(profile[memProvider.AsBetter().UserIdColumn].PropertyValue, Is.GreaterThan(0));
Assert.That(profile[memProvider.AsBetter().UserIdColumn].IsDirty, Is.False);
if (memProvider.AsBetter().HasEmailColumnDefined)
{
Assert.That(profile[memProvider.AsBetter().UserEmailColumn].PropertyValue, Is.EqualTo(user.Email));
Assert.That(profile[memProvider.AsBetter().UserEmailColumn].IsDirty, Is.False);
}
}
}