示例#1
0
        public async Task Transfer_UserUseNegativeAmount_CauseException()
        {
            var userModel = new UserModel
            {
                Email           = "*****@*****.**",
                Password        = "******",
                ConfirmPassword = "******",
                UserName        = "******"
            };
            await _repo.RegisterUser(userModel);

            var user1 = _context.Users.Include(x => x.Account).Single(x => x.Email == "*****@*****.**");

            var userModel2 = new UserModel
            {
                Email           = "*****@*****.**",
                Password        = "******",
                ConfirmPassword = "******",
                UserName        = "******"
            };
            await _repo.RegisterUser(userModel2);

            var user2 = _context.Users.Include(x => x.Account).Single(x => x.Email == "*****@*****.**");

            _context.SaveChanges();


            var cmd     = new AddTransactionCommandHandler(_context);
            var command = new AddTransactionCommand(user1.Id, user2.Id, -50);


            Assert.Throws <ArgumentException>(() => cmd.Execute(command));
        }
示例#2
0
        public async Task Transfer_UserSent20_BallanceDecreaseBy20()
        {
            var userModel = new UserModel
            {
                Email           = "*****@*****.**",
                Password        = "******",
                ConfirmPassword = "******",
                UserName        = "******"
            };
            await _repo.RegisterUser(userModel);

            var user1 = _context.Users.Include(x => x.Account).Single(x => x.Email == "*****@*****.**");

            var userModel2 = new UserModel
            {
                Email           = "*****@*****.**",
                Password        = "******",
                ConfirmPassword = "******",
                UserName        = "******"
            };
            await _repo.RegisterUser(userModel2);

            var user2 = _context.Users.Include(x => x.Account).Single(x => x.Email == "*****@*****.**");

            _context.SaveChanges();


            var cmd = new AddTransactionCommandHandler(_context);

            cmd.Execute(new AddTransactionCommand(user1.Id, user2.Id, 20));
            var balance1 = new GetBalanceQuery(_context).Execute(user1.Account.Id);
            var balance2 = new GetBalanceQuery(_context).Execute(user2.Account.Id);

            Assert.AreEqual(480, balance1);
            Assert.AreEqual(520, balance2);
        }
示例#3
0
 public TransferController(IGetTemplateMatchNamesQuery getTemplateMatchNamesQuery, AddTransactionCommandHandler addTransactionCommandHandler)
 {
     _getTemplateMatchNamesQuery   = getTemplateMatchNamesQuery;
     _addTransactionCommandHandler = addTransactionCommandHandler;
 }