public async Task Should_return_bad_request_when_try_to_pay_a_negative_amount() { var invoice = new InvoiceDto { Number = 345454, DueDate = new DateTime(), Amount = -100 }; var command = new PaymentCommand { AccountNo = 1001, Invoice = invoice }; var content = new StringContent(command.AsJson(), Encoding.UTF8, "application/json"); var response = await _httpClient.PostAsync("api/account/payment", content);; response.StatusCode.Should().Be(HttpStatusCode.BadRequest); }
public async Task Should_pay_an_invoice_succesfully() { var invoice = new InvoiceDto { Number = 345454, DueDate = new DateTime(), Amount = 500 }; var command = new PaymentCommand { AccountNo = 1001, Invoice = invoice }; var content = new StringContent(command.AsJson(), Encoding.UTF8, "application/json"); var response = await _httpClient.PostAsync("api/account/payment", content); response.StatusCode.Should().Be(HttpStatusCode.OK); }
public async Task Should_and_a_historical_registry_when_a_payment_charged_successfuly() { var invoice = new InvoiceDto { Number = 345454, DueDate = new DateTime(), Amount = 600 }; var command = new PaymentCommand { AccountNo = 1001, Invoice = invoice }; var content = new StringContent(command.AsJson(), Encoding.UTF8, "application/json"); await _httpClient.PostAsync("api/account/payment", content); var response = await _httpClient.GetAsync("api/account/1001/statement"); response.StatusCode.Should().Be(HttpStatusCode.OK); var account = await response.Content.ReadFromJsonAsync <AccountDto>(); var statement = account.Statements.First(s => s.Amount == -600); }