コード例 #1
0
        public void WhenApplyCampaignToCart_NoCampaign()
        {
            var cartRepository     = new Mock <IShoppingCartRepository>();
            var campaignRepository = new Mock <ICampaignRepository>();

            campaignRepository.Setup(c => c.GetAll())
            .Returns(new List <Campaign>());

            var manager = new CampaignManager(campaignRepository.Object, cartRepository.Object);

            manager.ApplyCampaignToCart();

            cartRepository.Verify(c => c.GetCart(), Times.Never);
        }
コード例 #2
0
        public void WhenApplyCampaignToCart_NotEnoughItemCount_ExpectNoDiscount()
        {
            var shoppingCartRepository = new ShoppingCartRepository();
            var shoppingCartService    = new ShoppingCartService(shoppingCartRepository, _campaignRepository, _couponRepository);

            shoppingCartService.AddItem(_productService.GetByID(0), 1);

            var campaignManager = new CampaignManager(_campaignRepository, shoppingCartRepository);

            campaignManager.ApplyCampaignToCart();

            var finalCart = shoppingCartService.GetCart();

            Assert.Equal(0, finalCart.DiscountAmount);
            Assert.Equal(0, finalCart.Items[0].DiscountAmount);
        }
コード例 #3
0
        public void WhenApplyCampaignToCart_MultipleCategoryItemForCampaign_ExpectSuccess()
        {
            var shoppingCartRepository = new ShoppingCartRepository();
            var shoppingCartService    = new ShoppingCartService(shoppingCartRepository, _campaignRepository, _couponRepository);

            shoppingCartService.AddItem(_productService.GetByID(0), 1);
            shoppingCartService.AddItem(_productService.GetByID(1), 1);

            var campaignManager = new CampaignManager(_campaignRepository, shoppingCartRepository);

            campaignManager.ApplyCampaignToCart();

            var expectedResult = 2500 * 20 / 100;

            var finalCart = shoppingCartService.GetCart();

            Assert.Equal(expectedResult, finalCart.DiscountAmount);
        }
コード例 #4
0
        private void ApplyCampaignToCart()
        {
            var campaignmanager = new CampaignManager(_campaignRepository, _shoppingCartRepository);

            campaignmanager.ApplyCampaignToCart();
        }