Example #1
0
        public async void Store_Should_Return_Status_201()
        {
            var user = await Factory.User();

            await _context.Users.AddAsync(user);

            await _context.SaveChangesAsync();

            _accessor.HttpContext.User = new ClaimsPrincipal
                                         (
                new ClaimsIdentity
                (
                    new Claim[]
            {
                new Claim(ClaimTypes.NameIdentifier, user.Id.ToString())
            }
                )
                                         );

            var viewModel = new StoreAccountViewModel
            {
                Name = "Caixa",
                Type = "Corrente"
            };

            var result = await _controller.Store(viewModel);

            Assert.IsAssignableFrom <CreatedResult>(result);
        }
Example #2
0
        public async Task <IActionResult> Store([FromBody] StoreAccountViewModel viewModel)
        {
            var user = await _auth.User();

            var account = new Account
            {
                Name = viewModel.Name,
                Type = viewModel.Type,
                User = user
            };

            await _context.Accounts.AddAsync(account);

            await _context.SaveChangesAsync();

            var response = new ResponseViewModel <int>(account.Id);

            return(Created($"/account/{account.Id}", response));
        }
Example #3
0
        public async void Store_Should_Exist_An_Account_Into_Database()
        {
            var user = await Factory.User();

            await _context.Users.AddAsync(user);

            await _context.SaveChangesAsync();

            _accessor.HttpContext.User = new ClaimsPrincipal
                                         (
                new ClaimsIdentity
                (
                    new Claim[]
            {
                new Claim(ClaimTypes.NameIdentifier, user.Id.ToString())
            }
                )
                                         );

            var viewModel = new StoreAccountViewModel
            {
                Name = "Caixa",
                Type = "Corrente"
            };

            await _controller.Store(viewModel);

            Assert.Collection(_context.Accounts,
                              (account) =>
            {
                Assert.Equal(1, account.Id);
                Assert.Equal(viewModel.Name, account.Name);
                Assert.Equal(viewModel.Type, account.Type);
                Assert.Equal(user.Id, account.UserId);
            });
        }