Exemplo n.º 1
0
        public virtual async Task AddressAndPayment_RedirectToCompleteWhenSuccessful()
        {
            const string cartId = "CartId_A";

            var order = CreateOrder();

            var formCollection = new Dictionary <string, StringValues> {
                { "PromoCode", new[] { "FREE" } }
            };

            using var context = CreateContext();
            await context.Database.CreateExecutionStrategy().ExecuteAsync(
                async() =>
            {
                using (Fixture.BeginTransaction(context))
                {
                    var cartItems = CreateTestCartItems(cartId, itemPrice: 10, numberOfItems: 1);
                    context.AddRange(cartItems.Select(n => n.Album).Distinct());
                    context.AddRange(cartItems);
                    context.SaveChanges();

                    var controller = new CheckoutController(formCollection);

                    var result = await controller.AddressAndPayment(context, cartId, order);

                    Assert.Equal(order.OrderId, result);
                }
            });
        }
        public void AddressAndPayment()
        {
            // Arrange
            CheckoutController controller = new CheckoutController();

            // Act
            ViewResult result = controller.AddressAndPayment() as ViewResult;

            // Assert
            Assert.IsNotNull(result);
        }
Exemplo n.º 3
0
        public async Task AddressAndPayment_ReturnsOrderIfInvalidPromoCode()
        {
            const string cartId = "CartId_A";

            using (var context = CreateContext())
            {
                using (Fixture.BeginTransaction(context))
                {
                    var controller = new CheckoutController();
                    var order      = CreateOrder();

                    var result = await controller.AddressAndPayment(context, cartId, order);

                    Assert.Null(result);
                }
            }
        }
Exemplo n.º 4
0
        public virtual async Task AddressAndPayment_ReturnsOrderIfInvalidPromoCode()
        {
            const string cartId = "CartId_A";

            using var context = CreateContext();
            await context.Database.CreateExecutionStrategy().ExecuteAsync(
                async() =>
            {
                using (Fixture.BeginTransaction(context))
                {
                    var controller = new CheckoutController();
                    var order      = CreateOrder();

                    var result = await controller.AddressAndPayment(context, cartId, order);

                    Assert.Null(result);
                }
            });
        }