public async void Store_Should_Return_Status_201() { var user = await Factory.User(); await _context.Users.AddAsync(user); await _context.SaveChangesAsync(); var nubank = await Factory.Account(userId : user.Id); await _context.Accounts.AddAsync(nubank); await _context.SaveChangesAsync(); var itau = await Factory.Account(userId : user.Id); await _context.Accounts.AddAsync(itau); await _context.SaveChangesAsync(); _accessor.HttpContext.User = await Factory.ClaimsPrincipal(userId : user.Id); var viewModel = new StoreTransferViewModel { Description = "Save money", Date = new DateTime(year: 2019, month: 12, day: 25), Value = 25000, ToId = nubank.Id, FromId = itau.Id }; var result = await _controller.Store(viewModel); Assert.IsAssignableFrom <CreatedResult>(result); }
public async Task <IActionResult> Store([FromBody] StoreTransferViewModel viewModel) { var output = new Output { Description = viewModel.Description, Value = -viewModel.Value, Date = viewModel.Date, ToId = viewModel.ToId, FromId = viewModel.FromId }; var input = new Input { Description = viewModel.Description, Value = viewModel.Value, Date = viewModel.Date, ToId = viewModel.ToId, FromId = viewModel.FromId }; await _context.Outputs.AddAsync(output); await _context.Inputs.AddAsync(input); await _context.SaveChangesAsync(); var response = new ResponseViewModel <int>(output.Id); return(Created($"transfer/{output.Id}", response)); }
public async void Store_Should_Have_An_Output() { var user = await Factory.User(); await _context.Users.AddAsync(user); await _context.SaveChangesAsync(); var nubank = await Factory.Account(userId : user.Id); await _context.Accounts.AddAsync(nubank); await _context.SaveChangesAsync(); var itau = await Factory.Account(userId : user.Id); await _context.Accounts.AddAsync(itau); await _context.SaveChangesAsync(); _accessor.HttpContext.User = await Factory.ClaimsPrincipal(userId : user.Id); var viewModel = new StoreTransferViewModel { Description = "Save money", Date = new DateTime(year: 2019, month: 12, day: 25), Value = 25000, ToId = nubank.Id, FromId = itau.Id }; var result = await _controller.Store(viewModel); Assert.Collection(_context.Outputs, (it) => { Assert.Equal(viewModel.Description, it.Description); Assert.Equal(viewModel.Date, it.Date); Assert.Equal(-viewModel.Value, it.Value); Assert.Equal(viewModel.ToId, it.ToId); Assert.Equal(viewModel.FromId, it.FromId); }); }