コード例 #1
0
        public void When_user_is_not_signed_in_and_has_no_cart_Must_return_new_cart_and_store_id_in_session()
        {
            // Arrange

            var session = new Dictionary<string, object>();

            // Act

            var cmd = new GetShoppingCartCommand(Db, null, session);
            var result = cmd.Execute();

            // Assert

            AssertSuccess(result);
            Assert.IsNotNull(result.Value, "Не вернулась корзина");
            Assert.AreEqual(result.Value.Id, session[GetShoppingCartCommand.CART_SESSION_KEY], "Id корзины не сохранился в сессию");
        }
コード例 #2
0
        public void When_there_is_no_cart_for_user_Must_create_new()
        {
            // Arrange

            CreateCart(); // просто корзина, не привязанная к пользователю
            var user = CreateUser();
            Db.SaveChanges();

            // Act

            var cmd = new GetShoppingCartCommand(Db, user);
            var result = cmd.Execute();

            // Assert

            AssertSuccess(result);
            Assert.IsNotNull(result.Value, "Не вернулась корзина");
            Assert.AreEqual(user.Id, result.Value.User.Id, "Вернулась чужая корзина");
            Assert.AreEqual(1, Db.ShoppingCarts.Count(c => c.User.Id == user.Id), "Не создалась новая корзина, либо появилась лишняя");
        }
コード例 #3
0
        public void When_there_is_cart_for_user_Must_return_existing_cart()
        {
            // Arrange

            CreateCart();
            var user = CreateUser();
            var cart = CreateCart(user); // тестируемая корзина
            CreateCart();
            Db.SaveChanges();

            // Act

            var cmd = new GetShoppingCartCommand(Db, user);
            var result = cmd.Execute();

            // Assert

            AssertSuccess(result);
            Assert.IsNotNull(result.Value, "Не вернулась корзина");
            Assert.AreEqual(1, Db.ShoppingCarts.Count(c => c.User.Id == user.Id), "Создалась новая корзина, либо удалилась старая");
            Assert.AreEqual(cart.Id, result.Value.Id, "Вернулась чужая корзина");
        }
コード例 #4
0
 public AddToShoppingCartCommand(GetShoppingCartCommand getCartCmd)
 {
     _getCartCmd = getCartCmd;
 }
コード例 #5
0
        public void When_user_is_not_signed_in_Must_return_existing_cart_for_session()
        {
            // Arrange

            var cart = CreateCart();
            Db.SaveChanges();
            var session = new Dictionary<string, object>();
            session[GetShoppingCartCommand.CART_SESSION_KEY] = cart.Id;

            // Act

            var cmd = new GetShoppingCartCommand(Db, null, session);
            var result = cmd.Execute();

            // Assert

            AssertSuccess(result);
            Assert.IsNotNull(result.Value, "Не вернулась корзина");
            Assert.AreEqual(cart.Id, result.Value.Id, "Вернулась чужая корзина");
        }
コード例 #6
0
 public AddRegistrationRequestCommand(StoreDbContext db, GetShoppingCartCommand getCartCmd, IMailService mailService)
 {
     _db = db;
     _getCartCmd = getCartCmd;
     _mailService = mailService;
 }
コード例 #7
0
 public AddRegistrationRequestCommand(StoreDbContext db, GetShoppingCartCommand getCartCmd, IMailService mailService)
 {
     _db          = db;
     _getCartCmd  = getCartCmd;
     _mailService = mailService;
 }
コード例 #8
0
 public AddToShoppingCartCommand(GetShoppingCartCommand getCartCmd)
 {
     _getCartCmd = getCartCmd;
 }