Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Api/appsettings.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
},
"AllowedHosts": "*",
"ConnectionStrings": {
"MySql": "Server=localhost;Database=minimal_api;Uid=root;Pwd=root;"
"MySql": "Server=localhost;Database=minimal_api;Uid=root;Pwd=password;"
},
"Jwt": "minimal-api-alunos-vamos_lá"
}
29 changes: 29 additions & 0 deletions Test/Domain/Entidades/VeiculosTest.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
using MinimalApi.Dominio.Entidades;
namespace Test.Domain.Entidades
{
[TestClass]
public class VeiculosTest
{
[TestMethod]
public void TestMethod1()
{
// Arrange

Veiculo veiculo = new()
{
// Act
Ano = 2001,
Id = 1,
Marca = "Toyota",
Nome = "Corola"
};

// Assert
Assert.AreEqual(1, veiculo.Id);
Assert.AreEqual("Toyota", veiculo.Marca);
Assert.AreEqual("Corola", veiculo.Nome);
Assert.AreEqual(2001, veiculo.Ano);
}
}
}

113 changes: 113 additions & 0 deletions Test/Domain/Servicos/VeiculoServicoTest.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Threading.Tasks;
using Microsoft.Extensions.Configuration;
using MinimalApi.Dominio.Entidades;
using MinimalApi.Dominio.Servicos;
using MinimalApi.Infraestrutura.Db;

namespace Test.Domain.Servicos
{
[TestClass]
public class VeiculoServicoTest
{
// Arrange
private static DbContexto CriarContextoDeTeste()
{
var assemblyPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
var path = Path.GetFullPath(Path.Combine(assemblyPath ?? "", "..", "..", ".."));

var builder = new ConfigurationBuilder()
.SetBasePath(path ?? Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddEnvironmentVariables();

var configuration = builder.Build();

return new DbContexto(configuration);
}


private VeiculoServico servico = new(CriarContextoDeTeste());


[TestMethod]
public void TestIncluir(){
// Arrange
Veiculo veiculo = new()
{
Ano = 2001,
Id = 1,
Marca = "Toyota",
Nome = "Corola"
};
// Act
servico.Incluir(veiculo);

// Assert
Assert.AreEqual(1, servico.Todos(1).Count);
servico.Apagar(veiculo);
}


[TestMethod]
public void TestApagar(){
// Arrange
Veiculo veiculo = new()
{
Ano = 2001,
Id = 2,
Marca = "Toyota",
Nome = "Corola"
};
// Act
servico.Incluir(veiculo);
servico.Apagar(veiculo);

// Assert
Assert.AreEqual(1, servico.Todos(1).Count);

}

[TestMethod]
public void TestAtualizar(){
// Arrange
Veiculo veiculo = new()
{
Ano = 2024,
Id = 1,
Marca = "Renaut",
Nome = "Qwid"
};
// Act
servico.Atualizar(veiculo);

// Assert
Assert.AreEqual(2024, veiculo.Ano);
Assert.AreEqual("Renaut", veiculo.Marca);
Assert.AreEqual("Qwid", veiculo.Nome);


}

[TestMethod]
public void TestBuscaPorId(){
// Arrange
Veiculo veiculo = new()
{
Ano = 2024,
Id = 4,
Marca = "GTR",
Nome = "Porshe"
};
// Act
servico.Incluir(veiculo);
Veiculo? veiculoDoBanco = servico.BuscaPorId(veiculo.Id);

// Assert
Assert.AreEqual(4, veiculoDoBanco?.Id);
}
}
}
1 change: 1 addition & 0 deletions Test/Helpers/Setup.cs
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ public static void ClassInit(TestContext testContext)
builder.ConfigureServices(services =>
{
services.AddScoped<IAdministradorServico, AdministradorServicoMock>();
services.AddScoped<IVeiculoServico, VeiculoServicoMock>();
});

});
Expand Down
53 changes: 53 additions & 0 deletions Test/Mocks/VeiculoServicoMock.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
using MinimalApi.Dominio.Entidades;
using MinimalApi.Dominio.Interfaces;

namespace Test.Mocks
{
public class VeiculoServicoMock : IVeiculoServico
{
private static readonly List<Veiculo> veiculos = new(){
new Veiculo{
Id = 1,
Ano = 2024,
Marca = "Honda",
Nome = "Civic Type R"
},
new Veiculo{
Id = 2,
Ano = 2001,
Marca = "Toyota",
Nome = "Corola"
}
};



public void Apagar(Veiculo veiculo)
{
veiculos.Remove(veiculo);
}

public void Atualizar(Veiculo veiculo)
{
veiculos[veiculo.Id] = veiculo;

}

public Veiculo? BuscaPorId(int id)
{
return veiculos.Find(veiculo => veiculo.Id == id);
}

public void Incluir(Veiculo veiculo)
{
veiculo.Id = veiculos.Count + 1;
veiculos.Add(veiculo);

}

public List<Veiculo> Todos(int? pagina = 1, string? nome = null, string? marca = null)
{
return veiculos;
}
}
}
Loading