public async Task Deve_Cadastrar_Compra_EmValidacao_Quando_Informado_Cpf_Diferente_De_15350946056_Async(string cpf) { var repositorio = new FakeCompraRepositorio(); var handler = new CadastrarCompraHandler(repositorio); var command = new CadastrarCompraCommand("123", 1000, new DateTimeOffset(2020, 1, 21, 20, 0, 0, TimeSpan.Zero), cpf); var response = await handler.Handle(command, System.Threading.CancellationToken.None); var compra = await repositorio.ObterPorCodigo("123"); Assert.False(response.Invalid); Assert.Equal(StatusCompra.EmValidacao, compra.Status); }
public async Task Deve_Excluir_Uma_Compra_Quando_Pasado_Compra_Valida_Async() { var repositorio = new FakeCompraRepositorio(); var compra = new Compra("123", 1000, new DateTimeOffset(2020, 1, 21, 20, 0, 0, TimeSpan.Zero), "09230359661"); repositorio.IncluirFake(compra); var handler = new ExcluirCompraHandler(repositorio); var command = new ExcluirCompraCommand(compra.Id.ToString()); var response = await handler.Handle(command, System.Threading.CancellationToken.None); Assert.False(response.Invalid); }
public async Task Deve_Cadastrar_Compra_Com_15_Porcento_Quando_Informado_Valores_Entre_1000_E_1500_Async(decimal valor) { var repositorio = new FakeCompraRepositorio(); var handler = new CadastrarCompraHandler(repositorio); var command = new CadastrarCompraCommand("123", valor, new DateTimeOffset(2020, 1, 21, 20, 0, 0, TimeSpan.Zero), "73041621045"); var response = await handler.Handle(command, System.Threading.CancellationToken.None); var compra = await repositorio.ObterPorCodigo("123"); byte porcentagemEsperada = 15; Assert.False(response.Invalid); Assert.Equal(porcentagemEsperada, compra.PorcentagemCashback); }
public async Task Nao_Deve_Excluir_Uma_Compra_Quando_Status_Compra_Aprovado_Async() { var repositorio = new FakeCompraRepositorio(); var compra = new Compra("123", 1000, new DateTimeOffset(2020, 1, 21, 20, 0, 0, TimeSpan.Zero), "15350946056"); repositorio.IncluirFake(compra); var handler = new ExcluirCompraHandler(repositorio); var command = new ExcluirCompraCommand(compra.Id.ToString()); var response = await handler.Handle(command, System.Threading.CancellationToken.None); Assert.True(response.Invalid); Assert.Equal("Compras aprovadas não podem ser excluídas", response.Notifications.First().Message); }
public async Task Nao_Deve_Excluir_Uma_Compra_Quando_Ela_Nao_Existe_Async() { var repositorio = new FakeCompraRepositorio(); var compra = new Compra("123", 1000, new DateTimeOffset(2020, 1, 21, 20, 0, 0, TimeSpan.Zero), "15350946056"); repositorio.IncluirFake(compra); var handler = new ExcluirCompraHandler(repositorio); var command = new ExcluirCompraCommand(ObjectId.GenerateNewId().ToString()); var response = await handler.Handle(command, System.Threading.CancellationToken.None); Assert.True(response.Invalid); Assert.Equal("Compra não encontrada", response.Notifications.First().Message); }
public async Task Nao_Deve_Cadastrar_Compra_Quando_Codigo_Ja_Existe_Async() { var repositorio = new FakeCompraRepositorio(); var compra = new Compra("123", 1000, new DateTimeOffset(2020, 1, 21, 20, 0, 0, TimeSpan.Zero), "21330371011"); repositorio.IncluirFake(compra); var compra2 = new Compra("1234", 1000, new DateTimeOffset(2020, 1, 21, 20, 0, 0, TimeSpan.Zero), "21330371011"); repositorio.IncluirFake(compra2); var handler = new CadastrarCompraHandler(repositorio); var command = new CadastrarCompraCommand("1234", 2000, new DateTimeOffset(2020, 1, 22, 20, 0, 0, TimeSpan.Zero), "21330371011"); var response = await handler.Handle(command, System.Threading.CancellationToken.None); Assert.True(response.Invalid); Assert.Equal("Jà existe uma Compra com esse código", response.Notifications.First().Message); }