//TODO add all the tests that duplicate the JewelItems tests to be mapping agnostic

        private SettingViewModelBuilder CreateDefaultSettingViewModelBuilder()
        {
            var settingManager    = new FakeSettingManager();
            var jewelryRepository = new FakeJewelRepository(settingManager);
            var diamondRepository = new FakeDiamondRepository(mapper);
            var webHelpers        = MockRepository.GenerateStub <IWebHelpers>();

            var customJewelForSetting = new CustomJewelPersistenceForSetting()
            {
                DiamondID = FIRST_DIAMOND_IN_REP,
                SettingID = SETTING_ID,
            };

            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);
        }
        public void Setting_ShouldRenderTheViewWithTheRightModel()
        {
            //Arrange
            var controller = CreateDefaultJewelDesignController();

            var customJewelForSetting = new CustomJewelPersistenceForSetting();

            customJewelForSetting.DiamondID = 1;
            customJewelForSetting.SettingID = Tests.FAKE_JEWELRY_REPOSITORY_FIRST_ITEM_ID;


            //Act
            var result = controller.Setting(customJewelForSetting);

            //Assert
            result.AssertViewRendered().WithViewData <SettingViewModel>();
        }
Exemplo n.º 3
0
        public ActionResult Setting(CustomJewelPersistenceForSetting customJewelPersistenceForSetting)
        {
            var tabsForJewelNavigation = new TabsForJewelDesignNavigationBuilder(customJewelPersistenceForSetting, diamondRepository,
                                                                                 jewelRepository, webHelpers);

            tabsForJewelNavigation.WhichTabToHighLight(NagivationTabType.ChooseSetting);

            jewelRepository.FilterMediaByMetal(customJewelPersistenceForSetting.MediaType == 0 ? JewelMediaType.WhiteGold : customJewelPersistenceForSetting.MediaType);

            var jewelryItemViewModelBuilder = new JewelryItemViewModelBuilder(customJewelPersistenceForSetting.SettingID, jewelRepository, testimonialRepository, fileSystem, mapper);

            var builder = new SettingViewModelBuilder(customJewelPersistenceForSetting, tabsForJewelNavigation, jewelryItemViewModelBuilder);

            var viewModel = builder.Build();

            viewModel.PathBarItems = pathBarGenerator.GenerateUsing <UsingDynamicTitlePathBarResolver, dynamic>(viewModel);


            return(View(viewModel));
        }
        //TODO hard to code with current schema of tests
        public void Setting_ShouldTellTheRepositoryAboutTheMediaSet()
        {
            //Arrange
            var jewelRepository = MockRepository.GenerateMock <IJewelRepository>();

            jewelRepository.Expect(x => x.FilterMediaByMetal(Arg <JewelMediaType> .Is.Equal(JewelMediaType.YellowGold)));


            var controller = CreateDefaultJewelDesignControllerWithCustomRepository(jewelRepository);

            var customJewelForSetting = new CustomJewelPersistenceForSetting();

            customJewelForSetting.DiamondID = 1;
            customJewelForSetting.SettingID = Tests.FAKE_JEWELRY_REPOSITORY_FIRST_ITEM_ID;


            //Act
            var result = controller.Setting(customJewelForSetting);

            //Assert
            result.AssertViewRendered().WithViewData <SettingViewModel>();
        }
 public SettingViewModelBuilder(CustomJewelPersistenceForSetting customJewelForSetting, TabsForJewelDesignNavigationBuilder tabsForJewelDesignBuilder, JewelryItemViewModelBuilder jewelryItemViewModelBuilder)
 {
     this.customJewelForSetting       = customJewelForSetting;
     this.tabsForJewelDesignBuilder   = tabsForJewelDesignBuilder;
     this.jewelryItemViewModelBuilder = jewelryItemViewModelBuilder;
 }
Exemplo n.º 6
0
        public ActionResult Setting(CustomJewelPersistenceForSetting customJewelPersistenceForSetting)
        {
            var tabsForJewelNavigation = new TabsForJewelDesignNavigationBuilder(customJewelPersistenceForSetting, diamondRepository,
                                                                     jewelRepository, webHelpers);

            tabsForJewelNavigation.WhichTabToHighLight(NagivationTabType.ChooseSetting);

            jewelRepository.FilterMediaByMetal(customJewelPersistenceForSetting.MediaType == 0 ? JewelMediaType.WhiteGold : customJewelPersistenceForSetting.MediaType);

            var jewelryItemViewModelBuilder = new JewelryItemViewModelBuilder(customJewelPersistenceForSetting.SettingID, jewelRepository,testimonialRepository ,fileSystem,mapper);

            var builder = new SettingViewModelBuilder(customJewelPersistenceForSetting, tabsForJewelNavigation, jewelryItemViewModelBuilder);

            var viewModel = builder.Build();

            viewModel.PathBarItems = pathBarGenerator.GenerateUsing<UsingDynamicTitlePathBarResolver, dynamic>(viewModel);

            return View(viewModel);
        }
 public SettingViewModelBuilder(CustomJewelPersistenceForSetting customJewelForSetting, TabsForJewelDesignNavigationBuilder tabsForJewelDesignBuilder, JewelryItemViewModelBuilder jewelryItemViewModelBuilder)
 {
     this.customJewelForSetting = customJewelForSetting;
     this.tabsForJewelDesignBuilder = tabsForJewelDesignBuilder;
     this.jewelryItemViewModelBuilder = jewelryItemViewModelBuilder;
 }
        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;
        }
        public void Setting_ShouldTellTheRepositoryAboutTheMediaSet()
        {
            //Arrange
            var jewelRepository = MockRepository.GenerateMock<IJewelRepository>();

            jewelRepository.Expect(x => x.FilterMediaByMetal(Arg<JewelMediaType>.Is.Equal(JewelMediaType.YellowGold)));

            var controller = CreateDefaultJewelDesignControllerWithCustomRepository(jewelRepository);

            var customJewelForSetting = new CustomJewelPersistenceForSetting();

            customJewelForSetting.DiamondID = 1;
            customJewelForSetting.SettingID = Tests.FAKE_JEWELRY_REPOSITORY_FIRST_ITEM_ID;

            //Act
            var result = controller.Setting(customJewelForSetting);
            //Assert
            result.AssertViewRendered().WithViewData<SettingViewModel>();
        }
        public void Setting_ShouldRenderTheViewWithTheRightModel()
        {
            //Arrange
            var controller = CreateDefaultJewelDesignController();

            var customJewelForSetting = new CustomJewelPersistenceForSetting();

            customJewelForSetting.DiamondID = 1;
            customJewelForSetting.SettingID = Tests.FAKE_JEWELRY_REPOSITORY_FIRST_ITEM_ID;

            //Act
            var result = controller.Setting(customJewelForSetting);
            //Assert
            result.AssertViewRendered().WithViewData<SettingViewModel>();
        }