Exemple #1
0
        public void Basket2()
        {
            //Arrange
            var expectedTotal = 51.00m;

            var basket = new Basket();

            basket.Add(ProductService.Get(ProductService.ProductCode.Hat));
            basket.Add(ProductService.Get(ProductService.ProductCode.Jumper));

            var offerVoucher1  = VoucherService.Get("YYY-YYY");
            var expectedReason = new NoApplicableProductsReason(offerVoucher1);

            //Act
            basket.ApplyVoucher(offerVoucher1);

            //Assert
            Assert.Equal(expectedTotal, basket.DiscountedTotal);
            Assert.Equal(expectedReason.Message, basket.VoucherResults.First().Message);
        }
        public void InvalidatedVouchersDisplayCorrectMessage()
        {
            //Arrange
            var expectedTotal = 46.00m;

            var headlight = ProductService.Get(ProductService.ProductCode.HeadLight);

            var basket = new Basket();

            basket.Add(ProductService.Get(ProductService.ProductCode.Hat));
            basket.Add(ProductService.Get(ProductService.ProductCode.Jumper));
            basket.Add(headlight);

            var offerVoucher1  = VoucherService.Get("YYY-YYY");
            var expectedReason = new NoApplicableProductsReason(offerVoucher1 as OfferVoucher);

            //Act
            basket.ApplyVoucher(offerVoucher1);
            Assert.DoesNotContain(basket.VoucherResults, r => r is NoApplicableProductsReason);
            basket.Remove(headlight);

            //Assert
            Assert.Equal(expectedReason.Message, basket.VoucherResults.First().Message);
        }