public void Build_ShouldCallTheFilterMetalOnTheRepositoryWithTheCorrectMediaType() { //Arrange var shoppingCart = MockRepository.GenerateStub<IShoppingCart>(); shoppingCart.Stub(x => x.Items).Return(new List<ICartItem>() { FakeJewelCartItem(Tests.FAKE_JEWELRY_REPOSITORY_FIRST_ITEM_ID, Tests.SAMPLE_JEWEL_SIZE_725, JewelMediaType.YellowGold,Tests.NUMBER_HAS_NO_MEANING_IN_THIS_CONTEXT) }); shoppingCart.Stub(x => x.TotalPrice).Return(10000); var fakeJewel = new FakeJewelRepository(new FakeSettingManager()).GetJewelByID(Tests.FAKE_JEWELRY_REPOSITORY_FIRST_ITEM_ID); var jewelryRepository = MockRepository.GenerateMock<IJewelRepository>(); jewelryRepository.Stub(x => x.GetJewelByID(Arg<int>.Is.Anything)).Return(fakeJewel); jewelryRepository.Expect(x => x.FilterMediaByMetal(Arg<JewelMediaType>.Is.Equal(JewelMediaType.YellowGold))) .Repeat.Once(); var diamondRepository = new FakeDiamondRepository(mapper); var cartItemViewModelBuilder = new CartItemViewModelBuilder(jewelryRepository, diamondRepository, mapper); var authentication = MockRepository.GenerateStub<IAuthentication>(); var builder = new ShoppingCartViewModelBuilder(shoppingCart, jewelryRepository, cartItemViewModelBuilder, authentication, mapper); //Act var viewModel = builder.Build(); //Assert jewelryRepository.VerifyAllExpectations(); }
public void GetItemByID_ShouldSetTheJewelPriceLikeTheSpecialPriceBecauseItemIsOnSpecial() { //Arrange var jewelRepository = new FakeJewelRepository(new FakeSettingManager()); //Act var jewel = jewelRepository.GetJewelByID(Tests.FAKE_JEWELRY_WITH_ALL_NON_DEFAULT_BEHAVIER); //Assert jewel.Price.Should().Be(jewel.SpecialPrice); }
public void GetItemByID_ShouldSetTheJewelPriceLikeARegularPriceBecauseItemIsNotSpecialAndUserIsNotADealer() { //Arrange var jewelRepository = new FakeJewelRepository(new FakeSettingManager()); //Act var jewel = jewelRepository.GetJewelByID(Tests.FAKE_JEWELRY_REPOSITORY_FIRST_ITEM_ID); //Assert jewel.Price.Should().Be(jewel.RegularPrice); }
public void GetItemByID_ShouldReturnTrueForInSpecialForTheItemThatContainsAllNonDefaults() { //Arrange var jewelRepository = new FakeJewelRepository(new FakeSettingManager()); //Act var jewel = jewelRepository.GetJewelByID(Tests.FAKE_JEWELRY_WITH_ALL_NON_DEFAULT_BEHAVIER); //Assert jewel.IsSpecial.Should().BeTrue(); }
public void GetItemByID_ShouldReturnTheRightID() { //Arrange var jewelRepository = new FakeJewelRepository(new FakeSettingManager()); //Act var jewel = jewelRepository.GetJewelByID(Tests.FAKE_JEWELRY_REPOSITORY_FIRST_ITEM_ID); //Assert jewel.ID.Should().Be(Tests.FAKE_JEWELRY_REPOSITORY_FIRST_ITEM_ID); }
public void GetItemByID_ShouldReturnFalseForInSpecial() { //Arrange var jewelRepository = new FakeJewelRepository(new FakeSettingManager()); //Act var jewel = jewelRepository.GetJewelByID(Tests.FAKE_JEWELRY_REPOSITORY_FIRST_ITEM_ID); //Assert jewel.IsSpecial.Should().BeFalse(); }
public void GetItemByID_ShouldSetTheRightDealerPrice() { //Arrange var jewelRepository = new FakeJewelRepository(new FakeSettingManager()); //Act var jewel = jewelRepository.GetJewelByID(Tests.FAKE_JEWELRY_REPOSITORY_FIRST_ITEM_ID); //Assert jewel.DealerPrice.Should().Be(7000); }
public void Build_ShouldThrowAnExceptionIfTheJewelIdDoesntExists() { //Arrange var jewelRepository = new FakeJewelRepository(new FakeSettingManager()); ; var doesntExists = Tests.FAKE_JEWELRY_REPOSITORY_FIRST_ITEM_ID + 1000; var model = fixture.Build<EmailRingModel>().With(x => x.ID, doesntExists).CreateAnonymous(); var builder = new EmailRingEmailTemplateViewModelBuilder(model, jewelRepository, mapper); //Act builder.Build(); }
public void Build_ShouldMapIconCorrectly() { //Arrange var jewelRepository = new FakeJewelRepository(new FakeSettingManager()); var wishListPersistence = MockRepository.GenerateStub<IWishListPersistence>(); wishListPersistence.Stub(x => x.GetItemsOnWishList()).Return(new List<int>() { Tests.FAKE_JEWELRY_REPOSITORY_FIRST_ITEM_ID }); var builder = new WishListViewModelBuilder(wishListPersistence, jewelRepository, mapper); //Act var viewModel = builder.Build(); //Assert viewModel.Items[0].Icon.Should().Be("/jon-images/jewel/0101-15421-icon-wg.jpg"); }
public void Build_ShouldMapTheModelToTheTemplateViewModel() { //Arrange var jewelRepository = new FakeJewelRepository(new FakeSettingManager()); var model = fixture.Build<EmailRingModel>().With(x=> x.ID,Tests.FAKE_JEWELRY_REPOSITORY_FIRST_ITEM_ID).CreateAnonymous(); var builder = new EmailRingEmailTemplateViewModelBuilder(model,jewelRepository,mapper); //Act var template = builder.Build(); //Assert template.YourName.Should().Be(model.YourName); template.YourEmail.Should().Be(model.YourEmail); template.ID.Should().Be(model.ID.ToString()); template.Message.Should().Be(model.Message); template.FriendEmail.Should().Be(model.FriendEmail); template.FriendName.Should().Be(model.FriendName); }
public void Build_ShouldHaveOneItemInTheListWhenWishListPersistenceIsGivenWithOneItem() { //Arrange var jewelRepository = new FakeJewelRepository(new FakeSettingManager()); var wishListPersistence = MockRepository.GenerateStub<IWishListPersistence>(); wishListPersistence.Stub(x => x.GetItemsOnWishList()).Return(new List<int>() { Tests.FAKE_JEWELRY_REPOSITORY_FIRST_ITEM_ID }); var builder = new WishListViewModelBuilder(wishListPersistence,jewelRepository, mapper); //Act var viewModel = builder.Build(); //Assert viewModel.Items.Should().HaveCount(1); }
public void Build_ShouldMapTheJewelDetailsToTheViewModel() { //Arrange var jewelRepository = new FakeJewelRepository(new FakeSettingManager()); ; var model = fixture.Build<EmailRingModel>().With(x=> x.ID , Tests.FAKE_JEWELRY_REPOSITORY_FIRST_ITEM_ID).CreateAnonymous(); var builder = new EmailRingEmailTemplateViewModelBuilder(model, jewelRepository, mapper); //Act var template = builder.Build(); //Assert var jewel = FakeFactory.FirstJewelInRepository; template.Description.Should().Be(jewel.Title); template.ItemNumber.Should().Be(jewel.ItemNumber); template.Price.Should().Be(Tests.AsMoney(jewel.Price)); template.Icon.Should().Be(jewel.Media.IconURLForWebDisplay); template.MediaSet.Should().Be(jewel.Media.MediaSet); }
public void Build_ShouldReturnAJavaScriptJsonInitializerWithReportForTheSearchInitBecauseItWasSpecifiedInTheRouteDic() { var customJewel = new CustomJewelPersistenceForDiamondSearch(); var diamondRepository = new FakeDiamondRepository(mapper); var webHelpers = MockRepository.GenerateStub<IWebHelpers>(); var jewelRepository = new FakeJewelRepository(new FakeSettingManager()); webHelpers.Stub(x => x.RouteUrl(Arg<string>.Is.Anything, Arg<RouteValueDictionary>.Is.Anything)).Return( Tests.STRING_THAT_HAS_NO_MEANING_IN_THIS_CONTEXT); customJewel.Report = Tests.STRING_THAT_IS_ASSERTED_BUT_HAS_NO_MEANING; var tabsForJewelDesignBuilder = new TabsForJewelDesignNavigationBuilder(customJewel, diamondRepository, jewelRepository, webHelpers); var builder = new DiamondSearchViewModelBuilder(customJewel, tabsForJewelDesignBuilder); //Act var viewModel = builder.Build(); //Assert viewModel.JSONClientScriptInitializer["Report"].Should().Be(Tests.STRING_THAT_IS_ASSERTED_BUT_HAS_NO_MEANING); }
public void Build_DiamondTabShouldReturnModifyRouteAndCallTheRightRouteIfDiamondIsPresent() { //Arrange var customJewel = new CustomJewelPersistenceBase(); var diamondRepository = new FakeDiamondRepository(mapper); var webHelpers = MockRepository.GenerateMock<IWebHelpers>(); var jewelRepository = new FakeJewelRepository(new FakeSettingManager()); customJewel.DiamondID = FIRST_DIAMOND_IN_REP; webHelpers.Expect( x => x.RouteUrl(Arg<string>.Is.Equal("DiamondSearch"), Arg<RouteValueDictionary>.Matches(d => (int)d["DiamondID"] == customJewel.DiamondID && (int)d["SettingID"] == customJewel.SettingID))). Return("/JewelDesign/DiamondSearch").Repeat.Any(); var builder = new TabsForJewelDesignNavigationBuilder(customJewel, diamondRepository, jewelRepository, webHelpers); //Act var tabs = builder.Build(); //Assert tabs[0].ModifyRoute.Should().Be("/JewelDesign/DiamondSearch"); webHelpers.VerifyAllExpectations(); }
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; }
public static Jewel Jewel() { var jewelRepository = new FakeJewelRepository(new FakeSettingManager()); return jewelRepository.GetJewelByID(Tests.FAKE_JEWELRY_REPOSITORY_FIRST_ITEM_ID); }
private JewelryItemViewModelBuilder JewelryItemViewModelBuilderFactoryMethod( Dictionary<string, MockFileData> files ) { var settingManager = new FakeSettingManager(); var fakeRepository = new FakeJewelRepository(settingManager); var fileSystem = FakeFileSystem.MediaFileSystemForItemNumber(files); var fakeTestimonailRepository = new FakeTestimonialRepository(mapper); var builder = new JewelryItemViewModelBuilder(Tests.FAKE_JEWELRY_REPOSITORY_FIRST_ITEM_ID, fakeRepository,fakeTestimonailRepository, fileSystem,mapper); return builder; }
private ReviewOrderViewModelBuilder CreateDefaultReviewOrderViewModelBuilder() { var checkoutDetailsModel = DefaultCheckoutDetailsModel(); var shoppingCart = MockRepository.GenerateStub<IShoppingCart>(); shoppingCart.Stub(x => x.TotalPrice).Return(10000); shoppingCart.Stub(x => x.Items).Return(new List<ICartItem>() { FakeJewelCartItem(Tests.FAKE_JEWELRY_REPOSITORY_FIRST_ITEM_ID, Tests.SAMPLE_JEWEL_SIZE_725, JewelMediaType.WhiteGold, (decimal) 9999.99) }); var jewelryRepository = new FakeJewelRepository(new FakeSettingManager()); var diamondRepository = new FakeDiamondRepository(mapper); var cartItemViewModelBuilder = new CartItemViewModelBuilder(jewelryRepository, diamondRepository, mapper); var builder = new ReviewOrderViewModelBuilder(checkoutDetailsModel, shoppingCart, cartItemViewModelBuilder, mapper); return builder; }
public void Build_ShouldReturnAJavaScriptJsonInitializerWithSettingIDBecauseItWasSpecifiedInTheRouteDic() { var customJewel = new CustomJewelPersistenceForDiamondSearch(); var diamondRepository = new FakeDiamondRepository(mapper); var webHelpers = MockRepository.GenerateStub<IWebHelpers>(); var jewelRepository = new FakeJewelRepository(new FakeSettingManager()); webHelpers.Stub(x => x.RouteUrl(Arg<string>.Is.Anything, Arg<RouteValueDictionary>.Is.Anything)).Return( Tests.STRING_THAT_HAS_NO_MEANING_IN_THIS_CONTEXT); customJewel.DiamondID = FIRST_DIAMOND_IN_REP; customJewel.SettingID = SETTING_ID; var tabsForJewelDesignBuilder = new TabsForJewelDesignNavigationBuilder(customJewel, diamondRepository, jewelRepository, webHelpers); var builder = new DiamondSearchViewModelBuilder(customJewel, tabsForJewelDesignBuilder); //Act var viewModel = builder.Build(); //Assert viewModel.JSONClientScriptInitializer["SettingID"].Should().Be(Tests.FAKE_JEWELRY_REPOSITORY_FIRST_ITEM_ID.ToString()); }
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 CreateJewelryItemControllerWithCustomWishListPersistence( IWishListPersistence wishListPersistence) { 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 fakeTestimonailRepository = new FakeTestimonialRepository(mapper); 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 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; }
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; }
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 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; }
private OrderBuilder CreateDefaultOrderBuilder() { var jewelRepository = new FakeJewelRepository(new FakeSettingManager()); var diamondRepository = new FakeDiamondRepository(mapper); var shoppingCart = MockRepository.GenerateStub<IShoppingCart>(); shoppingCart.Stub(x => x.Items).Return(new List<ICartItem>() { FakeJewelCartItem( Tests.FAKE_JEWELRY_REPOSITORY_FIRST_ITEM_ID, Tests.SAMPLE_JEWEL_SIZE_725, JewelMediaType.WhiteGold, 1000), FakeDiamondCartItem( Tests.FAKE_DIAMOND_REPOSITORY_FIRST_ITEM_ID, 2000), FakeCustomJewelCartItem( Tests.FAKE_DIAMOND_REPOSITORY_FIRST_ITEM_ID, Tests.FAKE_JEWELRY_REPOSITORY_FIRST_ITEM_ID, Tests.SAMPLE_JEWEL_SIZE_725, JewelMediaType.WhiteGold, 3000) }); shoppingCart.Stub(x => x.TotalPrice).Return(6000); var authentication = MockRepository.GenerateStub<IAuthentication>(); var builder = new OrderBuilder(shoppingCart, authentication, mapper); return builder; }
private CartItemViewModelBuilder CartItemViewModelBuilderWithJewelCartItem() { var shoppingCart = MockRepository.GenerateStub<IShoppingCart>(); shoppingCart.Stub(x => x.Items).Return(new List<ICartItem>() { FakeJewelCartItem( Tests.FAKE_JEWELRY_REPOSITORY_FIRST_ITEM_ID, Tests.SAMPLE_JEWEL_SIZE_725, JewelMediaType.WhiteGold, Tests.NUMBER_HAS_NO_MEANING_IN_THIS_CONTEXT) }); var jewelRepostory = new FakeJewelRepository(new FakeSettingManager()); var diamondRepository = new FakeDiamondRepository(mapper); var builder = new CartItemViewModelBuilder(jewelRepostory, diamondRepository, mapper); return builder; }
private CartItemViewModelBuilder CartItemViewModelBuilderWithDiamondCartItem() { var jewelRepostory = new FakeJewelRepository(new FakeSettingManager()); var diamondRepository = new FakeDiamondRepository(mapper); var builder = new CartItemViewModelBuilder(jewelRepostory, diamondRepository, mapper); return builder; }
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 BestOffer CreateDefaultBestOffer(IUserMailer mailer) { var settingManager = new FakeSettingManager(); var jewelRepository = new FakeJewelRepository(new FakeSettingManager()); var bestOffer = new BestOffer(mailer, settingManager, jewelRepository, mapper); return bestOffer; }