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 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_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_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_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);
        }
 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 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_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_WhenInvokeDataSelector_ThenTypePropertyMatches()
        {
            string expected = "field type";
            PrivateHealthField customField = new PrivateHealthField
            {
                CustomFieldType = new CustomFieldType { Name = expected }
            };
            PrivateHealthFieldClientDataTable target = new PrivateHealthFieldClientDataTable(MockRequest);

            dynamic actual = target.DataSelector.Compile().Invoke(customField);

            Assert.AreEqual(expected, actual.Type);
        }
        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);
        }