private ChooseSettingViewModelBuilder CreateDefaultChooseSettingViewModelBuilderWithChooseSettingModelAsAParameter(ChooseSettingViewModel chooseSettingViewModel)
        {
            var settingManager    = new FakeSettingManager();
            var tabsRepository    = TabsViewModelBuilderTests.CreateStubTabsRepository(JEWEL_DESIGN_TABKEY);
            var jewelryRepository = new FakeJewelRepository(settingManager);

            var fakeTabXmlFactory  = new FakeTabXmlFactory();
            var xmldoc_jeweldesign = fakeTabXmlFactory.JewelDesign3Tabs(JEWEL_DESIGN_TABKEY);


            var fileSystem = FakeFileSystem.MediaFileSystemForItemNumber("0101-15421");


            TabsViewModelBuilder tabsViewModelBuilder = new TabsViewModelBuilder(chooseSettingViewModel,
                                                                                 xmldoc_jeweldesign,
                                                                                 tabsRepository, jewelryRepository, fileSystem);

            var diamondRepository = new FakeDiamondRepository(mapper);
            var webHelpers        = MockRepository.GenerateStub <IWebHelpers>();

            var tabsForJewelDesignBuilder = new TabsForJewelDesignNavigationBuilder(chooseSettingViewModel,
                                                                                    diamondRepository, jewelryRepository,
                                                                                    webHelpers);


            var builder = new ChooseSettingViewModelBuilder(chooseSettingViewModel, tabsViewModelBuilder, tabsForJewelDesignBuilder);

            return(builder);
        }
        private SettingViewModelBuilder CreateDefaultSettingViewModelBuilderWithCustomModel(CustomJewelPersistenceForSetting customJewelForSetting)
        {
            var settingManager    = new FakeSettingManager();
            var jewelryRepository = new FakeJewelRepository(settingManager);
            var diamondRepository = new FakeDiamondRepository(mapper);
            var webHelpers        = MockRepository.GenerateStub <IWebHelpers>();



            var tabsForJewelDesignBuilder = new TabsForJewelDesignNavigationBuilder(customJewelForSetting,
                                                                                    diamondRepository, jewelryRepository,
                                                                                    webHelpers);

            var fakeRepository = new FakeJewelRepository(settingManager);

            var fileSystem = FakeFileSystem.MediaFileSystemForItemNumber("0101-15421");

            var fakeTestimonialRepository = new FakeTestimonialRepository(mapper);

            var jewelryItemViewModelBuilder = new JewelryItemViewModelBuilder(Tests.FAKE_JEWELRY_REPOSITORY_FIRST_ITEM_ID,
                                                                              fakeRepository, fakeTestimonialRepository,
                                                                              fileSystem, mapper);

            var builder = new SettingViewModelBuilder(customJewelForSetting, tabsForJewelDesignBuilder,
                                                      jewelryItemViewModelBuilder);

            return(builder);
        }
Пример #3
0
        public void OrderBy_ShouldOrderByLowToHighWhenDefaultOrderingIsUsed()
        {
            //Arrange
            var jewelryRepository = MockRepository.GenerateMock <IJewelRepository>();
            var tabsRepository    = CreateStubTabsRepository(TabKey);
            var fileSystem        = FakeFileSystem.MediaFileSystemForItemNumber("0101-15001");


            var orderBy = new DynamicOrderBy("price", "asc");

            jewelryRepository.Expect(x => x.OrderJewelryItemsBy(Arg <DynamicOrderBy> .Is.Equal(orderBy))).Repeat.Once();

            var viewModel = new TabsViewModel();

            viewModel.TabKey      = TAB_KEY;
            viewModel.TabId       = TAB_ID1;
            viewModel.MetalFilter = JewelMediaType.WhiteGold;


            var tabsViewModelBuilder = new TabsViewModelBuilder(viewModel, xmldoc_regular3tabs, tabsRepository, jewelryRepository, fileSystem);

            tabsViewModelBuilder.Build();

            //Act
            //Assert
            jewelryRepository.VerifyAllExpectations();
        }
        public void MediaSetList_ShouldReturnEmptyListIfNoIconFilesArePresentAndNoPicFilesArePresent()
        {
            //Arrange
            const string         itemNumber     = "0101-15001";
            const JewelMediaType jewelMediaSets = JewelMediaType.All;

            var fakeFileSystem = FakeFileSystem.MediaFileSystemForItemNumber(new Dictionary <string, MockFileData>()
            {
                { String.Format(@"C:\Users\maMLUka\Documents\jewelryonnet\internet-sites\jon-images\jewelry\{0}-pic-wg.jpg", itemNumber), new MockFileData("") },
//                                                        {String.Format(@"C:\Users\maMLUka\Documents\jewelryonnet\internet-sites\jon-images\jewelry\{0}-icon-wg.jpg",itemNumber),new MockFileData("")},
                { String.Format(@"C:\Users\maMLUka\Documents\jewelryonnet\internet-sites\jon-images\jewelry\{0}-hand-wg.jpg", itemNumber), new MockFileData("") },
                { String.Format(@"C:\Users\maMLUka\Documents\jewelryonnet\internet-sites\jon-images\jewelry\{0}-hires-wg.jpg", itemNumber), new MockFileData("") },
                { String.Format(@"C:\Users\maMLUka\Documents\jewelryonnet\internet-sites\jon-images\jewelry\{0}-mov-wg.flv", itemNumber), new MockFileData("") },
//                                                        {String.Format(@"C:\Users\maMLUka\Documents\jewelryonnet\internet-sites\jon-images\jewelry\{0}-pic-yg.jpg",itemNumber),new MockFileData("")},
                { String.Format(@"C:\Users\maMLUka\Documents\jewelryonnet\internet-sites\jon-images\jewelry\{0}-icon-yg.jpg", itemNumber), new MockFileData("") },
                { String.Format(@"C:\Users\maMLUka\Documents\jewelryonnet\internet-sites\jon-images\jewelry\{0}-hand-yg.jpg", itemNumber), new MockFileData("") },
                { String.Format(@"C:\Users\maMLUka\Documents\jewelryonnet\internet-sites\jon-images\jewelry\{0}-hires-yg.jpg", itemNumber), new MockFileData("") },
                { String.Format(@"C:\Users\maMLUka\Documents\jewelryonnet\internet-sites\jon-images\jewelry\{0}-mov-yg.flv", itemNumber), new MockFileData("") }
            });
            var settingManager = new FakeSettingManager();

            var mediaSetBuilder = new MediaSetBuilder(settingManager, fakeFileSystem);
            //Act
            var mediaSetList = mediaSetBuilder.Build(itemNumber, jewelMediaSets);

            //Assert
            mediaSetList.Should().HaveCount(0);
        }
Пример #5
0
        public void PageAndItemsPerPage_ShouldCallItemsPerPageMethodOnTheRepository()
        {
            //Arrange
            IJewelRepository jewelRepository = MockRepository.GenerateMock <IJewelRepository>();

            var tabsRepository = CreateStubTabsRepository(TabKey);

            jewelRepository.Expect(
                x =>
                x.ItemsPerPage(Arg <int> .Is.Equal(21))).Repeat.Once();

            jewelRepository.Expect(
                x =>
                x.Page(Arg <int> .Is.Equal(1))).Repeat.Once();

            var fileSystem = FakeFileSystem.MediaFileSystemForItemNumber();
            TabsViewModelBuilder tabsViewModelBuilder = new TabsViewModelBuilder(TAB_KEY, TAB_ID1, xmldoc_regular3tabs, tabsRepository, jewelRepository, fileSystem);
            var viewModel = tabsViewModelBuilder.Build();
            //Act

            var tabs = viewModel.JewelryInTabContainersCollection;

            //Assert
            jewelRepository.VerifyAllExpectations();
        }
Пример #6
0
        public void Tabs_ShouldCallTheTabRepositoryWithTheCorrectKey()
        {
            //Arrange
            var tabsRepository    = MockRepository.GenerateStrictMock <ITabsRepository>();
            var jewelryRepository = MockRepository.GenerateStub <IJewelRepository>();
            var fileSystem        = FakeFileSystem.MediaFileSystemForItemNumber();
            var faketablist       = new List <Tab>();

            faketablist.Add(new Tab("test1", TAB_ID1, 1));
            faketablist.Add(new Tab("test2", TAB_ID2, 2));
            faketablist.Add(new Tab("test3", TAB_ID3, 3));

            tabsRepository.Expect(x => x.GetTabsCollectionByKey(Arg <String> .Is.Equal(TAB_KEY))).Repeat.Once().Return(faketablist);



            TabsViewModelBuilder tabsViewModelBuilder = new TabsViewModelBuilder(TAB_KEY, TAB_ID1, xmldoc_regular3tabs, tabsRepository, jewelryRepository, fileSystem);
            var viewModel = tabsViewModelBuilder.Build();
            //Act

            var tabs = viewModel.Tabs;

            //Assert
            tabsRepository.VerifyAllExpectations();
        }
Пример #7
0
        public void Verify_ShouldReturnWholeMediaNullIfPictureNotPresentOnDisk()
        {
            //Arrange

            const string itemNumber = "0101-15001";

            var fakeFileSystem = FakeFileSystem.MediaFileSystemForItemNumber(new Dictionary <string, MockFileData>()
            {
//                                                        {String.Format(@"C:\Users\maMLUka\Documents\jewelryonnet\internet-sites\jon-images\jewelry\{0}-pic-wg.jpg",itemNumber),new MockFileData("")},
                { String.Format(@"C:\Users\maMLUka\Documents\jewelryonnet\internet-sites\jon-images\jewelry\{0}-icon-wg.jpg", itemNumber), new MockFileData("") },
                { String.Format(@"C:\Users\maMLUka\Documents\jewelryonnet\internet-sites\jon-images\jewelry\{0}-hand-wg.jpg", itemNumber), new MockFileData("") },
                { String.Format(@"C:\Users\maMLUka\Documents\jewelryonnet\internet-sites\jon-images\jewelry\{0}-hires-wg.jpg", itemNumber), new MockFileData("") },
                { String.Format(@"C:\Users\maMLUka\Documents\jewelryonnet\internet-sites\jon-images\jewelry\{0}-mov-wg.flv", itemNumber), new MockFileData("") },
                { String.Format(@"C:\Users\maMLUka\Documents\jewelryonnet\internet-sites\jon-images\jewelry\{0}-report-all.jpg", itemNumber), new MockFileData("") }
            });

            var media = CreateMedia();

            var mediaVerifier = new MediaVerifier(fakeFileSystem);
            //Act
            var verifiedmedia = mediaVerifier.Verify(media);

            //Assert
            verifiedmedia.Should().BeNull();
        }
Пример #8
0
        public void MapJewelsToInTabContainers_ShouldReturnHasMovieToBeFalseWhenMovieFileIsNotPresent()
        {
            //Arrange
            var settingManager    = new FakeSettingManager();
            var tabsRepository    = CreateStubTabsRepository(TabKey);
            var jewelryRepository = new FakeJewelRepository(settingManager);

            var fileSystem = FakeFileSystem.MediaFileSystemForItemNumber(new Dictionary <string, MockFileData>()
            {
                { @"C:\Users\maMLUka\Documents\jewelryonnet\internet-sites\jon-images\jewelry\0101-15421-pic-wg.jpg", new MockFileData("") },
                { @"C:\Users\maMLUka\Documents\jewelryonnet\internet-sites\jon-images\jewelry\0101-15421-icon-wg.jpg", new MockFileData("") },
                { @"C:\Users\maMLUka\Documents\jewelryonnet\internet-sites\jon-images\jewelry\0101-15421-hires-wg.jpg", new MockFileData("") },
                { @"C:\Users\maMLUka\Documents\jewelryonnet\internet-sites\jon-images\jewelry\0101-15421-hand-wg.jpg", new MockFileData("") },
//                                                        {@"C:\Users\maMLUka\Documents\jewelryonnet\internet-sites\jon-images\jewelry\0101-15421-mov-wg.flv",new MockFileData("")}
            });

            TabsViewModelBuilder tabsViewModelBuilder = new TabsViewModelBuilder(TAB_KEY, TAB_ID1, xmldoc_regular3tabs,
                                                                                 tabsRepository, jewelryRepository, fileSystem);

            var viewModel = tabsViewModelBuilder.Build();

            //Act

            var tabContainer1 = viewModel.JewelryInTabContainersCollection[0];

            //Assert

            tabContainer1.HasMovie.Should().BeFalse();
        }
        private JewelDesignController CreateDefaultJewelDesignControllerWithCustomRepository(IJewelRepository jewelRepository)
        {
            var diamondRepository = new FakeDiamondRepository(mapper);
            var formatter         = MockRepository.GenerateStub <IJONFormatter>();

            var webHelpers = MockRepository.GenerateStub <IWebHelpers>();

            formatter.Stub(x => x.ToCaratWeight(Arg <decimal> .Is.Anything)).Return("Not important for this test");
            formatter.Stub(x => x.ToGramWeight(Arg <decimal> .Is.Anything)).Return("Not important for this test");
            formatter.Stub(x => x.ToMilimeter(Arg <decimal> .Is.Anything)).Return("Not important for this test");

            var fileSystem       = FakeFileSystem.MediaFileSystemForItemNumber();
            var xmlSourceFactory = new FakeXmlSourceFactory();
            var tabRepository    = TabsViewModelBuilderTests.CreateStubTabsRepository(TabTestsBase.TabKey);

            var diamondHelpBuilder = new DiamondHelpBuilder(new FakeXmlSourceFactory());

            var pathbarGenerator          = MockRepository.GenerateStub <IPathBarGenerator>();
            var fakeTestimonailRepository = new FakeTestimonialRepository(mapper);


            var controller = new JewelDesignController(diamondRepository, formatter, mapper, jewelRepository, webHelpers,
                                                       xmlSourceFactory, fileSystem, diamondHelpBuilder, tabRepository, pathbarGenerator, fakeTestimonailRepository);

            return(controller);
        }
Пример #10
0
        private TabsController CreateDefaultTabsController()
        {
            var tabsRepository    = new TabsRepository(fakeXmlSourceFactory);
            var jewelryRepository = new FakeJewelRepository(new FakeSettingManager());

            var fileSystem       = FakeFileSystem.MediaFileSystemForItemNumber();
            var pathBarGenerator = MockRepository.GenerateStub <IPathBarGenerator>();
            var tabsController   = new TabsController(tabsRepository, jewelryRepository, fileSystem, fakeXmlSourceFactory, pathBarGenerator, mapper);

            return(tabsController);
        }
        //TODO add two tests for width and weight NA testing



        #region Helpers

        private JewelryItemViewModelBuilder JewelryItemViewModelBuilderFactoryMethod()
        {
            var settingManager            = new FakeSettingManager();
            var fakeRepository            = new FakeJewelRepository(settingManager);
            var fakeTestimonailRepository = new FakeTestimonialRepository(mapper);
            var fileSystem = FakeFileSystem.MediaFileSystemForItemNumber("0101-15421");

            var builder = new JewelryItemViewModelBuilder(Tests.FAKE_JEWELRY_REPOSITORY_FIRST_ITEM_ID, fakeRepository, fakeTestimonailRepository, fileSystem, mapper);

            return(builder);
        }
        private JewelryItemViewModelBuilder JewelryItemViewModelBuilderFactoryMethodWithJewelID(int jewelD)
        {
            var settingManager = new FakeSettingManager();
            var fakeRepository = new FakeJewelRepository(settingManager);

            var fileSystem = FakeFileSystem.MediaFileSystemForItemNumber("0101-15421");
            var fakeTestimonailRepository = new FakeTestimonialRepository(mapper);

            var builder = new JewelryItemViewModelBuilder(jewelD, fakeRepository, fakeTestimonailRepository, fileSystem, mapper);

            return(builder);
        }
Пример #13
0
        private TabsViewModelBuilder CreateDefaultTabsViewModelBuilderWithCustomInTabFilter()
        {
            var settingManager    = new FakeSettingManager();
            var tabsRepository    = CreateStubTabsRepository(TabKey);
            var jewelryRepository = new FakeJewelRepository(settingManager);

            var fileSystem = FakeFileSystem.MediaFileSystemForItemNumber("0101-15421");

            TabsViewModelBuilder tabsViewModelBuilder = new TabsViewModelBuilder(TAB_KEY, TAB_ID1, xmldoc_tabswithintabfilter,
                                                                                 tabsRepository, jewelryRepository, fileSystem);

            return(tabsViewModelBuilder);
        }
Пример #14
0
        private TabsViewModelBuilder CreateDefaultTabsViewModelBuilderWithSpecialTabs()
        {
            var settingManager    = new FakeSettingManager();
            var tabsRepository    = CreateStubTabsRepository(TabKey);
            var jewelryRepository = new FakeJewelRepository(settingManager);

            var fileSystem = FakeFileSystem.MediaFileSystemForItemNumber("0101-15421");

            TabsViewModelBuilder tabsViewModelBuilder = new TabsViewModelBuilder(TAB_KEY, SPECIAL_TABID1, xmldoc_specialtab,
                                                                                 tabsRepository, jewelryRepository, fileSystem);

            return(tabsViewModelBuilder);
        }
        private JewelryItemViewModelBuilder CreateJewelItemViewModelBuilderWithJewel(Jewel jewel)
        {
            var fakeRepository = MockRepository.GenerateStub <IJewelRepository>();

            fakeRepository.Stub(x => x.GetJewelByID(Arg <int> .Is.Anything)).Return(jewel);

            var fakeTestimonailRepository = new FakeTestimonialRepository(mapper);
            var fileSystem = FakeFileSystem.MediaFileSystemForItemNumber(jewel.ItemNumber);

            var builder = new JewelryItemViewModelBuilder(Tests.FAKE_JEWELRY_REPOSITORY_FIRST_ITEM_ID, fakeRepository, fakeTestimonailRepository, fileSystem, mapper);

            return(builder);
        }
        public void MediaSetList_ShouldReturn2SetsBecauseTheFileExist()
        {
            //Arrange
            const string         itemNumber     = "0101-15001";
            const JewelMediaType jewelMediaSets = JewelMediaType.All;

            var fakeFileSystem = FakeFileSystem.MediaFileSystemForItemNumber();
            var settingManager = new FakeSettingManager();

            var mediaSetBuilder = new MediaSetBuilder(settingManager, fakeFileSystem);
            //Act
            var mediaSetList = mediaSetBuilder.Build(itemNumber, jewelMediaSets);

            //Assert
            mediaSetList.Should().HaveCount(2);
        }
Пример #17
0
        public void Tabs_ShouldShowTheTabsIfRegularTabsArePresented()
        {
            //Arrange

            var tabsRepository    = CreateStubTabsRepository(TabKey);
            var jewelryRepository = MockRepository.GenerateStub <IJewelRepository>();
            var fileSystem        = FakeFileSystem.MediaFileSystemForItemNumber();

            TabsViewModelBuilder tabsViewModelBuilder = new TabsViewModelBuilder(TAB_KEY, TAB_ID1, xmldoc_regular3tabs,
                                                                                 tabsRepository, jewelryRepository, fileSystem);

            var viewModel = tabsViewModelBuilder.Build();

            //Act

            viewModel.IsShowTabs.Should().BeTrue();
        }
Пример #18
0
        public void Tabs_ShouldLoadTheTabExtraText()
        {
            //Arrange

            var tabsRepository    = CreateStubTabsRepository(TabKey);
            var jewelryRepository = MockRepository.GenerateStub <IJewelRepository>();
            var fileSystem        = FakeFileSystem.MediaFileSystemForItemNumber();

            TabsViewModelBuilder tabsViewModelBuilder = new TabsViewModelBuilder(TAB_KEY, TAB_ID1, xmldoc_regular3tabs,
                                                                                 tabsRepository, jewelryRepository, fileSystem);

            var viewModel = tabsViewModelBuilder.Build();

            //Act

            viewModel.ExtraText.Should().Be("extratext");
        }
        private JewelryItemController CreateDefaultJewelryItemControllerSetup()
        {
            var fileSystem                = FakeFileSystem.MediaFileSystemForItemNumber(Tests.FAKE_JEWEL_ITEMNUMBER);
            var settingManager            = new FakeSettingManager();
            var jewelryRepository         = new FakeJewelRepository(settingManager);
            var webHelpers                = GetWebHelpers();
            var mediaSetBuilder           = GetMediaSetBuilder();
            var fakeTestimonailRepository = new FakeTestimonialRepository(mapper);
            var bestOffer = MockRepository.GenerateStub <IBestOffer>();

            var wishListPersistence = MockRepository.GenerateStub <IWishListPersistence>();
            var fakeMailer          = MockRepository.GenerateStub <IUserMailer>();
            var pathbarGenerator    = MockRepository.GenerateStub <IPathBarGenerator>();

            var controller = new JewelryItemController(jewelryRepository, mediaSetBuilder, webHelpers, fileSystem, bestOffer, wishListPersistence, fakeTestimonailRepository, fakeMailer, pathbarGenerator, mapper);

            return(controller);
        }
        private JewelryItemController CreateJewelryItemControllerWithCustomerMailer(IUserMailer mailer)
        {
            var fileSystem        = FakeFileSystem.MediaFileSystemForItemNumber("0101-15421");
            var settingManager    = new FakeSettingManager();
            var jewelryRepository = new FakeJewelRepository(settingManager);
            var webHelpers        = GetWebHelpers();
            var mediaSetBuilder   = GetMediaSetBuilder();
            var bestOffer         = MockRepository.GenerateStub <IBestOffer>();

            var wishListPersistence       = MockRepository.GenerateStub <IWishListPersistence>();
            var fakeTestimonailRepository = new FakeTestimonialRepository(mapper);
            var pathbarGenerator          = MockRepository.GenerateStub <IPathBarGenerator>();

            var controller = new JewelryItemController(jewelryRepository, mediaSetBuilder, webHelpers, fileSystem, bestOffer,
                                                       wishListPersistence, fakeTestimonailRepository, mailer, pathbarGenerator, mapper);

            return(controller);
        }
Пример #21
0
        public void Verify_ShouldReturnTheSamePathIfAllFilesArePresent()
        {
            //Arrange


            var fakeFileSystem = FakeFileSystem.MediaFileSystemForItemNumber();

            var media = CreateMedia();

            var mediaVerifier = new MediaVerifier(fakeFileSystem);
            //Act
            var verifiedmedia = mediaVerifier.Verify(media);

            //Assert
            verifiedmedia.IconURLForWebDisplay.Should().NotBeNull();
            verifiedmedia.PictureURLForWebDisplay.Should().NotBeNull();
            verifiedmedia.HiResURLForWebDisplay.Should().NotBeNull();
            verifiedmedia.HandURLForWebDisplay.Should().NotBeNull();
            verifiedmedia.MovieURLForWebDisplay.Should().NotBeNull();
        }
Пример #22
0
        private TabsViewModelBuilder CreateDefaultTabsViewModelBuilderWithAllMetalFilter()
        {
            var settingManager    = new FakeSettingManager();
            var tabsRepository    = CreateStubTabsRepository(TabKey);
            var jewelryRepository = new FakeJewelRepository(settingManager);

            var fileSystem = FakeFileSystem.MediaFileSystemForItemNumber("0101-15421");

            var model = new TabsViewModel()
            {
                MetalFilter = JewelMediaType.All,
                TabKey      = TabKey,
                TabId       = TabID1
            };

            TabsViewModelBuilder tabsViewModelBuilder = new TabsViewModelBuilder(model, xmldoc_regular3tabs,
                                                                                 tabsRepository, jewelryRepository, fileSystem);

            return(tabsViewModelBuilder);
        }
Пример #23
0
        public void Build_ShouldAddACustmFilterToTheRapository()
        {
            //Arrange
            var jewelryRepository = MockRepository.GenerateMock <IJewelRepository>();
            var tabsRepository    = CreateStubTabsRepository(TabKey);
            var fileSystem        = FakeFileSystem.MediaFileSystemForItemNumber("0101-15001");


            jewelryRepository.Expect(x => x.AddFilterList(Arg <List <DynamicSQLWhereObject> >
                                                          .Matches(
                                                              m =>
                                                              m[0].Pattern == "cs_type = @0" &&
                                                              m[0].Valuelist.Contains("ruby")

                                                              ))).Repeat.Once();

            var viewModel = new TabsViewModel();

            viewModel.TabKey = TAB_KEY;
            viewModel.TabId  = TAB_ID1;

            viewModel.CustomFilters = new List <CustomTabFilterViewModel>
            {
                new CustomTabFilterViewModel()
                {
                    Name  = "gemstone-center-stone",
                    Value = (int)GemstoneCenterStoneFilterValues.Ruby
                }
            };



            var tabsViewModelBuilder = new TabsViewModelBuilder(viewModel, xmldoc_tabswithgeneralfilter, tabsRepository,
                                                                jewelryRepository, fileSystem);


            //Act
            tabsViewModelBuilder.Build();
            //Assert
            jewelryRepository.VerifyAllExpectations();
        }
Пример #24
0
        public void Tabs_ShouldCallTheJewelryRepository()
        {
            //Arrange
            var jewelryRepository = MockRepository.GenerateMock <IJewelRepository>();
            var tabsRepository    = CreateStubTabsRepository(TabKey);
            var fileSystem        = FakeFileSystem.MediaFileSystemForItemNumber();


            jewelryRepository.Expect(
                x =>
                x.GetJewelsByDynamicSQL(Arg <DynamicSQLWhereObject> .Is.Anything)).Repeat.Once();

            TabsViewModelBuilder tabsViewModelBuilder = new TabsViewModelBuilder(TAB_KEY, TAB_ID1, xmldoc_regular3tabs, tabsRepository, jewelryRepository, fileSystem);
            var viewModel = tabsViewModelBuilder.Build();
            //Act

            var tabs = viewModel.JewelryInTabContainersCollection;

            //Assert
            jewelryRepository.VerifyAllExpectations();
        }
Пример #25
0
        public void Tabs_ShouldSetViewModelToNotShowTabsWhenTheFeatureIsEnabledInsideTheXML()
        {
            //Arrange

            var tabsRepository    = CreateStubTabsRepository(TabKey);
            var jewelryRepository = MockRepository.GenerateStub <IJewelRepository>();
            var fileSystem        = FakeFileSystem.MediaFileSystemForItemNumber();

            TabsViewModelBuilder tabsViewModelBuilder = new TabsViewModelBuilder(TAB_KEY, TAB_ID2, xmldoc_regular3tabs,
                                                                                 tabsRepository, jewelryRepository, fileSystem);

            var viewModel = tabsViewModelBuilder.Build();
            //Act

            var tabs = viewModel.Tabs;

            //Assert
            tabs[0].Active.Should().BeFalse();
            tabs[1].Active.Should().BeTrue();
            tabs[2].Active.Should().BeFalse();
        }
Пример #26
0
        public void Build_IfGivenATabKeyWithSpecialTebsReturnIsShowTabsToFalse()
        {
            //Arrange
            var jewelryRepository = MockRepository.GenerateMock <IJewelRepository>();
            var tabsRepository    = CreateStubTabsRepository(TabKey);
            var fileSystem        = FakeFileSystem.MediaFileSystemForItemNumber("0101-15001");

            var viewModel = new TabsViewModel();

            viewModel.TabKey = TAB_KEY;
            viewModel.TabId  = SPECIAL_TABID1;

            var tabsViewModelBuilder = new TabsViewModelBuilder(viewModel, xmldoc_specialtab, tabsRepository, jewelryRepository, fileSystem);

            viewModel = tabsViewModelBuilder.Build();

            //Act

            viewModel.IsShowTabs.Should().BeFalse();
            //Assert
        }
Пример #27
0
        public void Build_IfGivenAViewModelWithNoMetalFilterSetToDefaultOf1()
        {
            //Arrange
            var jewelryRepository = MockRepository.GenerateMock <IJewelRepository>();
            var tabsRepository    = CreateStubTabsRepository(TabKey);
            var fileSystem        = FakeFileSystem.MediaFileSystemForItemNumber("0101-15001");

            var viewModel = new TabsViewModel();

            viewModel.TabKey = TAB_KEY;
            viewModel.TabId  = TAB_ID1;

            TabsViewModelBuilder tabsViewModelBuilder = new TabsViewModelBuilder(viewModel, xmldoc_regular3tabs, tabsRepository, jewelryRepository, fileSystem);

            viewModel = tabsViewModelBuilder.Build();

            //Act

            var tabsContainers = viewModel.JewelryInTabContainersCollection;

            //Assert
            tabsContainers.Should().OnlyContain(x => x.Metal == "White Gold 18K");
        }
Пример #28
0
        public void Build_ShouldPassTheCurrentValueOfTheGeneralFilterToTheViewModelForPresistance()
        {
            //Arrange


            //Arrange
            var jewelryRepository = MockRepository.GenerateMock <IJewelRepository>();
            var tabsRepository    = CreateStubTabsRepository(TabKey);
            var fileSystem        = FakeFileSystem.MediaFileSystemForItemNumber("0101-15001");


            var viewModel = new TabsViewModel
            {
                TabKey        = TAB_KEY,
                TabId         = TAB_ID1,
                CustomFilters = new List <CustomTabFilterViewModel>
                {
                    new CustomTabFilterViewModel()
                    {
                        Name  = "gemstone-center-stone",
                        Value = (int)GemstoneCenterStoneFilterValues.Ruby
                    }
                }
            };



            var tabsViewModelBuilder = new TabsViewModelBuilder(viewModel, xmldoc_tabswithgeneralfilter, tabsRepository,
                                                                jewelryRepository, fileSystem);


            //Act
            var result = tabsViewModelBuilder.Build();

            //Assert
            result.CustomFilters[0].Value.Should().Be(1);
        }