public void PresentTabs_ShouldReturntheRightNumberOfItemsAfterMetalWhiteGoldFilter()
        {
            //Arrange

            var tabKey = "diamond-rings";
            var tabId  = "engagement-rings";

            var xmlSource         = new XmlSourceFactory();
            var tabsRepository    = new TabsRepository(xmlSource);
            var jewelryRepository = new JewelRepository(new SettingManager());
            var fileSystem        = new FileSystem();
            var pathBarGenerator  = MockRepository.GenerateStub <IPathBarGenerator>();

            var mapper = MockRepository.GenerateStub <IMappingEngine>();

            TabsController controller = new TabsController(tabsRepository, jewelryRepository, fileSystem, xmlSource, pathBarGenerator, mapper);

            var viewModel = new TabsViewModel();

            viewModel.TabKey      = tabKey;
            viewModel.TabId       = tabId;
            viewModel.MetalFilter = JewelMediaType.WhiteGold;

            //Act

            var resultview = controller.SearchTabs(viewModel);

            //Assert
            var model = resultview.Model as TabsViewModel;


            model.JewelryInTabContainersCollection.Should().HaveCount(9).And.OnlyContain(x => x.PictureURL.Contains("wg"));
        }
        public void PresentTabs_ShouldPresentTheDefaultNumberOfItems()
        {
            //Arrange

            var tabKey = "diamond-rings";
            var tabId  = "engagement-rings";


            var xmlSource         = new XmlSourceFactory();
            var tabsRepository    = new TabsRepository(xmlSource);
            var jewelryRepository = new JewelRepository(new SettingManager());
            var fileSystem        = new FileSystem();
            var pathBarGenerator  = MockRepository.GenerateStub <IPathBarGenerator>();
            var mapper            = MockRepository.GenerateStub <IMappingEngine>();

            TabsController controller = new TabsController(tabsRepository, jewelryRepository, fileSystem, xmlSource, pathBarGenerator, mapper);

            var viewModel = MockRepository.GenerateStub <TabsViewModel>();

            viewModel.TabKey = tabKey;
            viewModel.TabId  = tabId;

            //Act

            var resultview = controller.SearchTabs(viewModel);

            //Assert

            var model = resultview.Model as TabsViewModel;

            model.JewelryInTabContainersCollection.Count.ShouldBe(10);
        }
Пример #3
0
        public void GetJewelByID_ShouldReturnTheRightMediaSetYellowGold()
        {
            //Arrange
            settingManager.Stub(x => x.GetJewelryBaseWebPath()).Return("/jon-images/jewel/");
            settingManager.Stub(x => x.GetJewelryBaseDiskPath()).Return(@"C:\Users\maMLUka\Documents\jewelryonnet\internet-sites\jon-images\jewelry\");

            JewelRepository jewelRepository = new JewelRepository(settingManager);
            //Act
            var jewel = jewelRepository.GetJewelByID(59325);

            //Assert
            jewel.MediaSetsOwnedByJewel.Should().Be(JewelMediaType.YellowGold);
        }
Пример #4
0
        public void GetItemsByDynamicSQL_ShouldReturnTheRightAmoutOfItems()
        {
            //Arrange
            var dynamicSQL = DynamicSQLWhereObject();

            settingManager.Stub(x => x.GetJewelryBaseWebPath()).Return("/jon-images/jewel/");

            JewelRepository jewelRepository = new JewelRepository(settingManager);

            //Act
            var jewelrylist = jewelRepository.GetJewelsByDynamicSQL(dynamicSQL);

            //Assert
            jewelrylist.Should().HaveCount(10);
        }
Пример #5
0
        public void GetJewelByID_ShouldReturnNullIfYellowGoldRequestedButBotPresent()
        {
            //Arrange
            settingManager.Stub(x => x.GetJewelryBaseWebPath()).Return("/jon-images/jewel/");
            settingManager.Stub(x => x.GetJewelryBaseDiskPath()).Return(@"C:\Users\maMLUka\Documents\jewelryonnet\internet-sites\jon-images\jewelry\");

            JewelRepository jewelRepository = new JewelRepository(settingManager);

            jewelRepository.FilterMediaByMetal(JewelMediaType.YellowGold);
            //Act
            var jewel = jewelRepository.GetJewelByID(59324);

            //Assert
            jewel.Should().BeNull();
        }
Пример #6
0
        public void Pages_ShouldReturnTheCorrectNumberOfPagesInTheLastPage()
        {
            //Arrange
            var dynamicSQL = DynamicSQLWhereObject();

            settingManager.Stub(x => x.GetJewelryBaseWebPath()).Return("/jon-images/jewel/");

            JewelRepository jewelRepository = new JewelRepository(settingManager);

            jewelRepository.ItemsPerPage(3);
            jewelRepository.Page(4);
            //Act

            var jewelrylist = jewelRepository.GetJewelsByDynamicSQL(dynamicSQL);

            //Assert
            jewelrylist.Should().HaveCount(10 - 3 * 3);
        }
Пример #7
0
        public void FilterJewelryItemsBy_ShouldOnlyReturnTheRightMetalMediaWhiteGold()
        {
            //Arrange
            var dynamicSQL = DynamicSQLWhereObject();

            settingManager.Stub(x => x.GetJewelryBaseWebPath()).Return("/jon-images/jewel/");

            JewelRepository jewelRepository = new JewelRepository(settingManager);

            //Act

            jewelRepository.FilterMediaByMetal(JewelMediaType.WhiteGold);

            var jewelrylist = jewelRepository.GetJewelsByDynamicSQL(dynamicSQL);

            //Assert

            jewelrylist.Should().OnlyContain(x => x.Media.IconURLForWebDisplay.Contains("wg")).And.HaveCount(9);
        }
Пример #8
0
        public void TotalItems_ShouldReturnTheTotalNumbersOfItems()
        {
            //Arrange
            var dynamicSQL = DynamicSQLWhereObject();

            settingManager.Stub(x => x.GetJewelryBaseWebPath()).Return("/jon-images/jewel/");

            JewelRepository jewelRepository = new JewelRepository(settingManager);

            //Act

            var jewelrylist = jewelRepository.GetJewelsByDynamicSQL(dynamicSQL);

            var totalitems = jewelRepository.TotalItems;

            //Assert

            totalitems.Should().Be(10);
        }
Пример #9
0
        public void FilterJewelryItemsBy_ShouldOnlyReturnYellowGoldMetalString()
        {
            //Arrange
            var dynamicSQL = DynamicSQLWhereObject();

            settingManager.Stub(x => x.GetJewelryBaseWebPath()).Return("/jon-images/jewel/");

            JewelRepository jewelRepository = new JewelRepository(settingManager);

            //Act

            jewelRepository.FilterMediaByMetal(JewelMediaType.YellowGold);

            var jewelrylist = jewelRepository.GetJewelsByDynamicSQL(dynamicSQL);

            //Assert

            jewelrylist.Should().OnlyContain(x => x.MetalFullName() == "Yellow Gold 18 Karat").And.HaveCount(9);
        }
Пример #10
0
        public void FilterJewelryItemsBy_ShouldOnlyReturnTheRightMetalMediaAllMetals()
        {
            //Arrange
            var dynamicSQL = DynamicSQLWhereObject();

            settingManager.Stub(x => x.GetJewelryBaseWebPath()).Return("/jon-images/jewel/");

            JewelRepository jewelRepository = new JewelRepository(settingManager);

            //Act

            jewelRepository.FilterMediaByMetal(JewelMediaType.All);

            var jewelrylist = jewelRepository.GetJewelsByDynamicSQL(dynamicSQL);

            //Assert

            jewelrylist.Should().HaveCount(10);
        }
Пример #11
0
        public void CurrentPage_ShouldReturnTheCurrentPage()
        {
            //Arrange
            var dynamicSQL = DynamicSQLWhereObject();

            settingManager.Stub(x => x.GetJewelryBaseWebPath()).Return("/jon-images/jewel/");

            JewelRepository jewelRepository = new JewelRepository(settingManager);

            jewelRepository.ItemsPerPage(3);
            jewelRepository.Page(2);
            //Act

            var jewelrylist = jewelRepository.GetJewelsByDynamicSQL(dynamicSQL);

            var currectpage = jewelRepository.CurrentPage;

            //Assert

            currectpage.Should().Be(2);
        }
Пример #12
0
        public void OrderJewelryItemsBy_ShouldReturnTheItemsInTheCorrectOrderByFilterPriceDesc()
        {
            //Arrange
            var dynamicSQL = DynamicSQLWhereObject();

            settingManager.Stub(x => x.GetJewelryBaseWebPath()).Return("/jon-images/jewel/");

            JewelRepository jewelRepository = new JewelRepository(settingManager);

            DynamicOrderBy orderBy = new DynamicOrderBy("price", "desc");

            //Act
            jewelRepository.OrderJewelryItemsBy(orderBy);

            var jewelrylist = jewelRepository.GetJewelsByDynamicSQL(dynamicSQL);
            //Assert
            var first = jewelrylist[0].Price;
            var last  = jewelrylist[jewelrylist.Count - 1].Price;

            first.Should().Be(7500);
            last.Should().Be(1500);
        }