public override void GrantAccess(EducationSecurityPrincipal user) { if (user == null) { throw new ArgumentNullException("user"); } if (user.Identity.User.UserRoles.Any()) { if (IsDataAdmin(user)) { return; } if (CustomField is PublicField) { return; } else { PrivateHealthField privateHealthField = CustomField as PrivateHealthField; if (IsProvider(user) && privateHealthField.ProviderId != null && user.Identity.User.UserRoles.SelectMany(u => u.Providers).Contains(privateHealthField.Provider)) { return; } } } throw new EntityAccessUnauthorizedException("Not authorized to upload to this custom field."); }
private bool AssertPropertiesMatch(PrivateHealthFieldModel expectedState, PrivateHealthField actualState) { Assert.IsNotNull(actualState); Assert.AreEqual(expectedState.FieldName, actualState.Name); Assert.AreEqual(expectedState.SelectedFieldTypeId, actualState.CustomFieldTypeId); CollectionAssert.AreEqual(expectedState.SelectedCategories.ToList(), actualState.Categories.Select(c => c.Id).ToList()); Assert.AreEqual(expectedState.SelectedProviderId, actualState.ProviderId); return(true); }
public void GivenValidModel_WhenCopyFrom_ThenSelectedProviderIdSet() { PrivateHealthField model = new PrivateHealthField { ProviderId = 23828, CreatingUser = new User() }; Target.CopyFrom(model); Assert.AreEqual(model.ProviderId, Target.SelectedProviderId); }
public void GivenValidModel_WhenCopyTo_ThenProviderIdSet() { PrivateHealthField model = new PrivateHealthField(); Target.SelectedProviderId = 38293; Target.CopyTo(model); Assert.AreEqual(Target.SelectedProviderId, model.ProviderId); }
public override void CopyFrom(CustomField model) { base.CopyFrom(model); PrivateHealthField validModel = model as PrivateHealthField; if (validModel == null) { throw new ArgumentException(string.Format("Model must be an instance of type {0}.", typeof(PrivateHealthField).Name), "model"); } SelectedProviderId = validModel.ProviderId; }
public void GivenPrivateHealthField_WhenInvokeSortSelector_ThenSortOnName() { string expected = "this is what I want!"; PrivateHealthField customField = new PrivateHealthField { Name = expected }; PrivateHealthFieldClientDataTable target = new PrivateHealthFieldClientDataTable(MockRequest); var actual = target.SortSelector.Compile().Invoke(customField); Assert.AreEqual(expected, actual); }
public void GivenPrivateHealthField_AndProviderNotNull_WhenInvokeDataSelector_ThenProviderPropertyEmpty() { PrivateHealthField customField = new PrivateHealthField { CustomFieldType = new CustomFieldType() }; PrivateHealthFieldClientDataTable target = new PrivateHealthFieldClientDataTable(MockRequest); dynamic actual = target.DataSelector.Compile().Invoke(customField); Assert.AreEqual(string.Empty, actual.Provider); }
public void GivenPrivateHealthField_WhenInvokeDataSelector_ThenIdPropertyMatches() { int expected = 7438095; PrivateHealthField customField = new PrivateHealthField { Id = expected, CustomFieldType = new CustomFieldType() }; PrivateHealthFieldClientDataTable target = new PrivateHealthFieldClientDataTable(MockRequest); dynamic actual = target.DataSelector.Compile().Invoke(customField); Assert.AreEqual(expected, actual.Id); }
public void GivenPrivateHealthField_WhenInvokeDataSelector_ThenNamePropertyMatches() { string expected = "this is what I want!"; PrivateHealthField customField = new PrivateHealthField { Name = expected, CustomFieldType = new CustomFieldType() }; PrivateHealthFieldClientDataTable target = new PrivateHealthFieldClientDataTable(MockRequest); dynamic actual = target.DataSelector.Compile().Invoke(customField); Assert.AreEqual(expected, actual.Name); }
public void GivenPrivateHealthField_AndProviderIsNotNull_AndSortColumnIndexIs2_WhenInvokeSortSelector_ThenSortOnProviderName() { MockRequest.Expect(m => m["iSortCol_0"]).Return("2"); string expected = "this is the value I want"; PrivateHealthField customField = new PrivateHealthField { CustomFieldType = new CustomFieldType(), Provider = new Provider { Name = expected } }; PrivateHealthFieldClientDataTable target = new PrivateHealthFieldClientDataTable(MockRequest); var actual = target.SortSelector.Compile().Invoke(customField); Assert.AreEqual(expected, actual); }
public void GivenPrivateHealthField_AndProviderIsNull_AndSortColumnIndexIs2_WhenInvokeSortSelector_ThenSortOnEmptyString() { MockRequest.Expect(m => m["iSortCol_0"]).Return("2"); string expected = string.Empty; PrivateHealthField customField = new PrivateHealthField { Name = "this is NOT what I want!!!!", CustomFieldType = new CustomFieldType { Name = "this is NOT what I want!!!!" } }; PrivateHealthFieldClientDataTable target = new PrivateHealthFieldClientDataTable(MockRequest); var actual = target.SortSelector.Compile().Invoke(customField); Assert.AreEqual(expected, actual); }
public void GivenPrivateHealthField_WhenInvokeDataSelector_ThenCategoriesPropertyMatches() { string[] expected = new[] { "category1", "category2", "category3" }; PrivateHealthField customField = new PrivateHealthField { Categories = expected.Select(c => new CustomFieldCategory { Name = c }).ToList(), CustomFieldType = new CustomFieldType() }; PrivateHealthFieldClientDataTable target = new PrivateHealthFieldClientDataTable(MockRequest); dynamic actual = target.DataSelector.Compile().Invoke(customField); CollectionAssert.AreEqual(expected, ((IEnumerable <string>)actual.Categories).ToList()); }
public void GivenPrivateHealthField_AndProviderNotNull_WhenInvokeDataSelector_ThenProviderPropertyMatches() { string expected = "provider name"; PrivateHealthField customField = new PrivateHealthField { CustomFieldType = new CustomFieldType(), Provider = new Provider { Name = expected } }; PrivateHealthFieldClientDataTable target = new PrivateHealthFieldClientDataTable(MockRequest); dynamic actual = target.DataSelector.Compile().Invoke(customField); Assert.AreEqual(expected, actual.Provider); }