Esempio n. 1
0
 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.");
 }
Esempio n. 2
0
 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;
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
        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);
        }
Esempio n. 8
0
        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);
        }
Esempio n. 9
0
        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);
        }
Esempio n. 10
0
        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);
        }
Esempio n. 11
0
        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);
        }
Esempio n. 12
0
        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());
        }
Esempio n. 13
0
        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);
        }