Skip to content
This repository has been archived by the owner on Apr 27, 2024. It is now read-only.

Commit

Permalink
Merge pull request #93 from g12-4soat/feature/refactoring-testes
Browse files Browse the repository at this point in the history
Refatoração dos testes já existentes
  • Loading branch information
nsosoares authored Dec 14, 2023
2 parents c09bd7f + 908e18c commit 2905517
Show file tree
Hide file tree
Showing 14 changed files with 499 additions and 530 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -43,10 +43,5 @@ public async Task<Produto> Cadastrar(Produto produto)
{
return (await _context.AddAsync(produto)).Entity;
}

public void Deletar(Produto produto)
{
produto.ProdutoDeletado();
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,5 @@ public interface IProdutoRepository : IRepository<Produto>
Task<List<Produto>> BuscarPorCategoria(CategoriaProduto categoria);
Task<Produto> Cadastrar(Produto produto);
void Atualizar(Produto produto);
void Deletar(Produto produto);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,10 @@ public async Task<Produto> Cadastrar(string nome, string descricao, decimal prec

return novoProduto;
}

public async Task Deletar(Produto produto)
{
_produtoRepository.Deletar(produto);
produto.ProdutoDeletado();
await _produtoRepository.UnitOfWork.Commit();
}
}
Expand Down
50 changes: 0 additions & 50 deletions test/TechLanches.UnitTests/Domain/PagamentoAggregateTest.cs

This file was deleted.

78 changes: 78 additions & 0 deletions test/TechLanches.UnitTests/Domain/PagamentoTest.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
using TechLanches.Domain.Aggregates;

namespace TechLanches.UnitTests.Domain
{
[Trait("Domain", "Pagamento")]
public class PagamentoTest
{
[Fact(DisplayName = "Criar pagamento com sucesso")]
public void CriarPagamento_DeveRetornarSucesso()
{
//Arrange
var pedidoId = 1;
var valor = 100;

//Act
var pagamento = new Pagamento(pedidoId, valor, FormaPagamento.QrCodeMercadoPago);

//Assert
Assert.NotNull(pagamento);
Assert.Equal(pedidoId, pagamento.PedidoId);
Assert.Equal(valor, pagamento.Valor);
Assert.Equal(FormaPagamento.QrCodeMercadoPago, pagamento.FormaPagamento);
Assert.Equal(StatusPagamento.Aguardando, pagamento.StatusPagamento);
}

[Theory(DisplayName = "Criar pagamento com falha")]
[InlineData(0, 100)]
[InlineData(1, 0)]
public void CriarPagamento_Invalido_DeveLancarException(int pedidoId, decimal valor)
{
//Arrange, Act & Assert
Assert.Throws<DomainException>(() => new Pagamento(pedidoId, valor, FormaPagamento.QrCodeMercadoPago));
}

[Fact(DisplayName = "Reprovar pagamento com status aprovado com falha")]
public void Reprovar_PagamentoAprovado_DeveLancarException()
{
//Arrange
var pedidoId = 1;
var valor = 100;
var pagamentoId = 1;
var pagamento = new Pagamento(pagamentoId, pedidoId, valor, StatusPagamento.Aprovado);

//Act, Assert
Assert.Throws<DomainException>(() => pagamento.Reprovar());
}

[Fact(DisplayName = "Aprovar pagamento com sucesso")]
public void Reprovar_PagamentoAguardando_DeveReprovarComSucesso()
{
//Arrange
var pedidoId = 1;
var valor = 100;
var pagamento = new Pagamento(pedidoId, valor, FormaPagamento.QrCodeMercadoPago);

//Act
pagamento.Reprovar();

//Act, Assert
Assert.Equal(StatusPagamento.Reprovado, pagamento.StatusPagamento);
}

[Fact(DisplayName = "Aprovar pagamento com sucesso")]
public void Aprovar_PagamentoAguardando_DeveAprovarComSucesso()
{
//Arrange
var pedidoId = 1;
var valor = 100;
var pagamento = new Pagamento(pedidoId, valor, FormaPagamento.QrCodeMercadoPago);

//Act
pagamento.Aprovar();

//Act, Assert
Assert.Equal(StatusPagamento.Aprovado, pagamento.StatusPagamento);
}
}
}
Loading

0 comments on commit 2905517

Please sign in to comment.