private List <Diamond> GetDiamondCollectionUnSorted() { var searchParameters = new DiamondSearchParameters(); searchParameters.Page = 1; var diamondRepository = new FakeDiamondRepository(mapper); //Act return(diamondRepository.DiamondsBySearchParameters(searchParameters)); }
public void DiamondsBySearchParameters_ShouldFilterResultsByColorButMoreThenOneColorSelected() { //Arrange var searchParameters = new DiamondSearchParameters(); searchParameters.Page = 1; searchParameters.ItemsPerPage = 10; searchParameters.Color = new List<string>() { "H","G" }; var diamondRepository = new FakeDiamondRepository(mapper); //Act var diamonds = diamondRepository.DiamondsBySearchParameters(searchParameters); //Assert diamonds.Should().HaveCount(4); }
public void DiamondsBySearchParameters_ShouldReturn1ItemOnPage2WhenPageSizeIs5() { //Arrange var searchParameters = new DiamondSearchParameters(); searchParameters.Page = 2; searchParameters.ItemsPerPage = 5; var diamondRepository = new FakeDiamondRepository(mapper); //Act var diamonds = diamondRepository.DiamondsBySearchParameters(searchParameters); //Assert diamonds.Should().HaveCount(1); }
public void DiamondsBySearchParameters_ShouldReturnZeroItemsIfThePageRequestedDoesntExists() { //Arrange var searchParameters = new DiamondSearchParameters(); searchParameters.Page = 3; searchParameters.ItemsPerPage = 3; var diamondRepository = new FakeDiamondRepository(mapper); //Act var diamonds = diamondRepository.DiamondsBySearchParameters(searchParameters); //Assert diamonds.Should().HaveCount(0); }
public void DiamondsBySearchParameters_ShouldReturnAllTheItemsInTheRepostoryWhenNoFiltersAreAskedForAndWeWantTheFirstPage() { //Arrange var searchParameters = new DiamondSearchParameters(); searchParameters.Page = 1; searchParameters.ItemsPerPage = 10; var diamondRepository = new FakeDiamondRepository(mapper); //Act var diamonds = diamondRepository.DiamondsBySearchParameters(searchParameters); //Assert diamonds.Should().HaveCount(THE_TOTAL_NUMBER_OF_ITEMS); }
public void DiamondsBySearchParameters_ShouldReturnOnly3ItemsOnPage2AsRequestedBySearchParams() { //Arrange var searchParameters = new DiamondSearchParameters(); searchParameters.Page = 2; searchParameters.ItemsPerPage = 3; var diamondRepository = new FakeDiamondRepository(mapper); //Act var diamonds = diamondRepository.DiamondsBySearchParameters(searchParameters); //Assert diamonds.Should().HaveCount(3); }
public void TotalPagesNumber_ShouldSortByWeightInDescOrderWhenCalledAsPartOFTheSearchParams() { //Arrange var searchParameters = new DiamondSearchParameters(); searchParameters.OrderBy = new DynamicOrderBy("totalprice", "desc"); var diamondRepository = new FakeDiamondRepository(mapper); //Act var diamonds = diamondRepository.DiamondsBySearchParameters(searchParameters); //Assert var unsortedCollectio = GetDiamondCollectionUnSorted(); diamonds.Should().ContainInOrder(unsortedCollectio.OrderByDescending(x => x.Price).ToList()); }
public void DiamondsBySearchParameters_ShouldFilterResultsByPriceMarginsWhenBothAreSpecified() { //Arrange var searchParameters = new DiamondSearchParameters(); searchParameters.Page = 1; searchParameters.ItemsPerPage = 10; searchParameters.PriceFrom = 26000; searchParameters.PriceTo = 28000; var diamondRepository = new FakeDiamondRepository(mapper); //Act var diamonds = diamondRepository.DiamondsBySearchParameters(searchParameters); //Assert diamonds.Should().HaveCount(1); }
public void DiamondsBySearchParameters_ShouldFilterResultsByWeightMarginsWhenOnlyToWeightIsSpecified() { //Arrange var searchParameters = new DiamondSearchParameters(); searchParameters.Page = 1; searchParameters.ItemsPerPage = 10; searchParameters.WeightFrom = 0; searchParameters.WeightTo = (decimal)1.35; var diamondRepository = new FakeDiamondRepository(mapper); //Act var diamonds = diamondRepository.DiamondsBySearchParameters(searchParameters); //Assert diamonds.Should().HaveCount(3); }
public void DiamondsBySearchParameters_ShouldFilterResultsByWeightMarginsWhenBothAreSpecifiedEvenIfTheFromFieldIBiggerThenTheToField() { //Arrange var searchParameters = new DiamondSearchParameters(); searchParameters.Page = 1; searchParameters.ItemsPerPage = 10; searchParameters.WeightFrom = (decimal)1.35; searchParameters.WeightTo = 1; var diamondRepository = new FakeDiamondRepository(mapper); //Act var diamonds = diamondRepository.DiamondsBySearchParameters(searchParameters); //Assert diamonds.Should().HaveCount(3); }
public void TotalPagesNumber_ShouldReturnTheTotalNumberOfPagesCorrectly() { //Arrange var searchParameters = new DiamondSearchParameters(); searchParameters.Page = 1; searchParameters.ItemsPerPage = 2; var diamondRepository = new FakeDiamondRepository(mapper); //Act diamondRepository.DiamondsBySearchParameters(searchParameters); var totalPages = diamondRepository.LastOporationTotalPages; //Assert totalPages.Should().Be(3); }
public void DiamondsBySearchParameters_ShouldFilterResultsByShapeWhenOneShapeSelected() { //Arrange var searchParameters = new DiamondSearchParameters(); searchParameters.Page = 1; searchParameters.ItemsPerPage = 10; searchParameters.Shape = new List <string>() { "Round" }; var diamondRepository = new FakeDiamondRepository(mapper); //Act var diamonds = diamondRepository.DiamondsBySearchParameters(searchParameters); //Assert diamonds.Should().HaveCount(2); }
public void DiamondsBySearchParameters_ShouldFilterResultsByCutButMoreThenOneCutSelected() { //Arrange var searchParameters = new DiamondSearchParameters(); searchParameters.Page = 1; searchParameters.ItemsPerPage = 10; searchParameters.Cut = new List <string>() { "G", "VG" }; var diamondRepository = new FakeDiamondRepository(mapper); //Act var diamonds = diamondRepository.DiamondsBySearchParameters(searchParameters); //Assert diamonds.Should().HaveCount(4); }
public void DiamondsBySearchParameters_ShouldReturnOnly3ItemsOnPage2AsRequestedBySearchParams() { //Arrange var searchParameters = new DiamondSearchParameters(); searchParameters.Page = 2; searchParameters.ItemsPerPage = 3; var diamondRepository = new FakeDiamondRepository(mapper); //Act var diamonds = diamondRepository.DiamondsBySearchParameters(searchParameters); //Assert diamonds.Should().HaveCount(3); }
public void DiamondsBySearchParameters_ShouldFilterResultsByWeightMarginsWhenBothAreSpecifiedEvenIfTheFromFieldIBiggerThenTheToField() { //Arrange var searchParameters = new DiamondSearchParameters(); searchParameters.Page = 1; searchParameters.ItemsPerPage = 10; searchParameters.WeightFrom = (decimal) 1.35; searchParameters.WeightTo = 1; var diamondRepository = new FakeDiamondRepository(mapper); //Act var diamonds = diamondRepository.DiamondsBySearchParameters(searchParameters); //Assert diamonds.Should().HaveCount(3); }
public void TotalPagesNumber_ShouldReturnTheTotalNumberOfPagesCorrectly() { //Arrange var searchParameters = new DiamondSearchParameters(); searchParameters.Page = 1; searchParameters.ItemsPerPage = 2; var diamondRepository = new FakeDiamondRepository(mapper); //Act diamondRepository.DiamondsBySearchParameters(searchParameters); var totalPages = diamondRepository.LastOporationTotalPages; //Assert totalPages.Should().Be(3); }
public void DiamondsBySearchParameters_ShouldReturnZeroItemsIfThePageRequestedDoesntExists() { //Arrange var searchParameters = new DiamondSearchParameters(); searchParameters.Page = 3; searchParameters.ItemsPerPage = 3; var diamondRepository = new FakeDiamondRepository(mapper); //Act var diamonds = diamondRepository.DiamondsBySearchParameters(searchParameters); //Assert diamonds.Should().HaveCount(0); }
public void TotalPagesNumber_ShouldSortByWeightInDescOrderWhenCalledAsPartOFTheSearchParams() { //Arrange var searchParameters = new DiamondSearchParameters(); searchParameters.OrderBy = new DynamicOrderBy("totalprice", "desc"); var diamondRepository = new FakeDiamondRepository(mapper); //Act var diamonds = diamondRepository.DiamondsBySearchParameters(searchParameters); //Assert var unsortedCollectio = GetDiamondCollectionUnSorted(); diamonds.Should().ContainInOrder(unsortedCollectio.OrderByDescending(x => x.Price).ToList()); }
private List<Diamond> GetDiamondCollectionUnSorted() { var searchParameters = new DiamondSearchParameters(); searchParameters.Page = 1; var diamondRepository = new FakeDiamondRepository(mapper); //Act return diamondRepository.DiamondsBySearchParameters(searchParameters); }
public void DiamondsBySearchParameters_ShouldFilterResultsByWeightMarginsWhenOnlyToWeightIsSpecified() { //Arrange var searchParameters = new DiamondSearchParameters(); searchParameters.Page = 1; searchParameters.ItemsPerPage = 10; searchParameters.WeightFrom = 0; searchParameters.WeightTo = (decimal) 1.35; var diamondRepository = new FakeDiamondRepository(mapper); //Act var diamonds = diamondRepository.DiamondsBySearchParameters(searchParameters); //Assert diamonds.Should().HaveCount(3); }
public void DiamondsBySearchParameters_ShouldReturnAllTheItemsInTheRepostoryWhenNoFiltersAreAskedForAndWeWantTheFirstPage() { //Arrange var searchParameters = new DiamondSearchParameters(); searchParameters.Page = 1; searchParameters.ItemsPerPage = 10; var diamondRepository = new FakeDiamondRepository(mapper); //Act var diamonds = diamondRepository.DiamondsBySearchParameters(searchParameters); //Assert diamonds.Should().HaveCount(THE_TOTAL_NUMBER_OF_ITEMS); }
public void DiamondsBySearchParameters_ShouldFilterResultsByShapeWhenOneShapeSelected() { //Arrange var searchParameters = new DiamondSearchParameters(); searchParameters.Page = 1; searchParameters.ItemsPerPage = 10; searchParameters.Shape = new List<string>() { "Round" }; var diamondRepository = new FakeDiamondRepository(mapper); //Act var diamonds = diamondRepository.DiamondsBySearchParameters(searchParameters); //Assert diamonds.Should().HaveCount(2); }
public void DiamondsBySearchParameters_ShouldFilterResultsByPriceMarginsWhenOnlyToPriceIsSpecified() { //Arrange var searchParameters = new DiamondSearchParameters(); searchParameters.Page = 1; searchParameters.ItemsPerPage = 10; searchParameters.PriceFrom = 0; searchParameters.PriceTo = 26000; var diamondRepository = new FakeDiamondRepository(mapper); //Act var diamonds = diamondRepository.DiamondsBySearchParameters(searchParameters); //Assert diamonds.Should().HaveCount(3); }
public void DiamondsBySearchParameters_ShouldReturn1ItemOnPage2WhenPageSizeIs5() { //Arrange var searchParameters = new DiamondSearchParameters(); searchParameters.Page = 2; searchParameters.ItemsPerPage = 5; var diamondRepository = new FakeDiamondRepository(mapper); //Act var diamonds = diamondRepository.DiamondsBySearchParameters(searchParameters); //Assert diamonds.Should().HaveCount(1); }