public void LookupController_Search_RunSimpleSearch_WithSort()
        {
            // arrange
            LookupServiceInstance.SimpleSearchReturnValue =
                LookupTestUtility.CreateModels(false, 100);

            var model = UnitTestUtility.GetModel <LookupSearchViewModel>(
                SystemUnderTest.Search());

            model.IsSimpleSearch    = true;
            model.SimpleSearchValue = "searchval";

            // act & assert

            // first time sort by null to simulate the first search on the page
            var actual = UnitTestUtility.GetModel <LookupSearchViewModel>(
                SystemUnderTest.Search(model, null, null));

            SearchAndSortTestUtility.AssertSearchResultsAndSortDirection(actual, null, SearchConstants.SortDirectionAscending);

            // sort by Lookup name to simulate sorting the search
            string sortBy = nameof(Lookup.Id);

            actual = UnitTestUtility.GetModel <LookupSearchViewModel>(
                SystemUnderTest.Search(model, null, sortBy));

            SearchAndSortTestUtility.AssertSearchResultsAndSortDirection(actual, sortBy, SearchConstants.SortDirectionAscending);

            // sort by Lookup name again to simulate flipping the sort direction
            sortBy = nameof(Lookup.Id);
            actual = UnitTestUtility.GetModel <LookupSearchViewModel>(
                SystemUnderTest.Search(model, null, sortBy));

            SearchAndSortTestUtility.AssertSearchResultsAndSortDirection(actual, sortBy, SearchConstants.SortDirectionDescending);
        }
        public void LookupController_Search_RunSimpleSearch_ShouldHaveRecords()
        {
            // arrange
            LookupServiceInstance.SimpleSearchReturnValue =
                LookupTestUtility.CreateModels(false, 100);

            var model = UnitTestUtility.GetModel <LookupSearchViewModel>(
                SystemUnderTest.Search());

            model.IsSimpleSearch    = true;
            model.SimpleSearchValue = "searchval";

            // act
            var result = SystemUnderTest.Search(model, null, null);
            var actual = UnitTestUtility.GetModel <LookupSearchViewModel>(result);

            // assert
            Assert.IsNotNull(actual, "Model was null");
            Assert.IsNotNull(actual.Results, "Results was null");
            Assert.IsNotNull(actual.Results.PageValues, "Results.PageValues was null");
            Assert.AreNotEqual <int>(0, actual.Results.PageValues.Count, "No items on the current page");

            Assert.IsTrue(String.IsNullOrEmpty(actual.CurrentSortProperty), "CurrentSortProperty should be null or empty.");
            Assert.AreEqual <string>(SearchConstants.SortDirectionAscending, actual.CurrentSortDirection, "CurrentSortDirection was wrong");
        }
예제 #3
0
        public void AdaptLookupFromModelsToEntities_MergesByIdForExistingValues()
        {
            // arrange
            var fromValues = LookupTestUtility.CreateModels(false);
            var toValues   = new List <Benday.EasyAuthDemo.Api.DataAccess.Entities.LookupEntity>();

            foreach (var fromValue in fromValues)
            {
                Assert.AreNotEqual <int>(0, fromValue.Id, "Value wasn't 'saved' before start of test.");
            }

            int expectedCount = fromValues.Count;

            // adapt first time
            SystemUnderTest.Adapt(fromValues, toValues);

            var originalValuesById = GetOriginalValuesById(toValues);

            // act
            // call adapt again
            SystemUnderTest.Adapt(fromValues, toValues);

            // assert
            Assert.AreNotEqual <int>(0, toValues.Count, "There should be values.");
            AssertValuesStillExistAndIdDidNotChange(toValues, originalValuesById);
            LookupTestUtility.AssertAreEqual(fromValues, toValues);
        }
예제 #4
0
        public void AdaptLookupFromModelsToEntities_ToEmpty()
        {
            // arrange
            var fromValues = LookupTestUtility.CreateModels();
            var toValues   = new List <Benday.EasyAuthDemo.Api.DataAccess.Entities.LookupEntity>();

            // act
            SystemUnderTest.Adapt(fromValues, toValues);

            // assert
            Assert.AreNotEqual <int>(0, toValues.Count, "There should be values.");
            LookupTestUtility.AssertAreEqual(fromValues, toValues);
        }
        public void LookupController_Index_CallsServiceAndReturnsList()
        {
            // arrange
            var expected = LookupTestUtility.CreateModels();

            LookupServiceInstance.GetAllReturnValue = expected;

            // act
            var actual =
                UnitTestUtility.GetModel <IList <Lookup> >(
                    SystemUnderTest.Index());

            // assert
            Assert.IsNotNull(actual, "Model was null.");
            Assert.AreSame(expected, actual, "Did not return the expected instance.");
            Assert.IsTrue(LookupServiceInstance.WasGetAllCalled, "GetAll was not called.");
        }
        public void LookupController_Search_LoadPage()
        {
            // arrange
            LookupServiceInstance.SearchUsingSimpleSearchReturnValue =
                LookupTestUtility.CreateModels(false, 100);

            // act
            var result = SystemUnderTest.Search();

            // assert
            var model = UnitTestUtility.GetModel <LookupSearchViewModel>(result);

            Assert.IsNotNull(model, "Model was null");

            Assert.IsTrue(model.IsSimpleSearch, "IsSimpleSearch");
            Assert.IsFalse(LookupServiceInstance.WasSearchUsingSimpleSearchCalled,
                           "Search using simple search should not be called.");
        }
        public void LookupController_Search_RunSimpleSearch_WithSort_ChangePages()
        {
            // arrange
            LookupServiceInstance.SimpleSearchReturnValue =
                LookupTestUtility.CreateModels(false, 100);

            var model = UnitTestUtility.GetModel <LookupSearchViewModel>(
                SystemUnderTest.Search());

            model.IsSimpleSearch    = true;
            model.SimpleSearchValue = "searchval";

            // act & assert

            // sort by Lookup name to simulate sorting the search
            string sortBy = nameof(Lookup.Id);
            var    actual = UnitTestUtility.GetModel <LookupSearchViewModel>(
                SystemUnderTest.Search(model, null, sortBy));

            SearchAndSortTestUtility.AssertSearchResultsAndSortDirection(actual, sortBy, SearchConstants.SortDirectionAscending);

            Assert.IsTrue(actual.Results.PageCount > 2, "PageCount should be greater than 2 for this test");

            var page1Values = new List <Lookup>(actual.Results.PageValues);

            // change to page 2
            actual = UnitTestUtility.GetModel <LookupSearchViewModel>(
                SystemUnderTest.Search(model, "2", null));
            SearchAndSortTestUtility.AssertSearchResultsAndSortDirection(actual, sortBy, SearchConstants.SortDirectionAscending);
            Assert.AreEqual <int>(2, actual.Results.CurrentPage, "Results page number was wrong.");
            var page2Values = new List <Lookup>(actual.Results.PageValues);

            CollectionAssert.AreNotEquivalent(page2Values, page1Values, "Page values didn't change");

            // change to page 3
            actual = UnitTestUtility.GetModel <LookupSearchViewModel>(
                SystemUnderTest.Search(model, "3", null));
            SearchAndSortTestUtility.AssertSearchResultsAndSortDirection(actual, sortBy, SearchConstants.SortDirectionAscending);
            Assert.AreEqual <int>(3, actual.Results.CurrentPage, "Results page number was wrong.");
            var page3Values = new List <Lookup>(actual.Results.PageValues);

            CollectionAssert.AreNotEquivalent(page3Values, page2Values, "Page values didn't change");
        }
예제 #8
0
 private void InitializeFakeLookups()
 {
     LookupServiceInstance.GetAllByTypeReturnValue =
         LookupTestUtility.CreateModels(false);
 }