public async Task DeveEditarUmaLinha() { //arrange var linhaDto = new LinhaDto() { Id = 1, Nome = "Linha 2" }; var linha = new Domain.Entities.Linha( nome: "Linha 1", id: 1 ); await context.AddAsync(linha); await context.SaveChangesAsync(); context.Entry(linha).State = EntityState.Detached; //act await editarLinha.Executar(linhaDto); var linhaCadastrada = await context.Linhas.FindAsync(linha.Id); //assert Assert.Equal(linhaDto.Nome, linhaCadastrada.Nome); }
public async Task DeveListarUmaLinhaPorLocalizacaoDeUmaParada() { //arrange var parada = new Domain.Entities.Parada( nome: "Parada 1", new Domain.ValueObjects.Localizacao( latitude: -8.771593, longitude: -63.847208 ) ); var linha = new Domain.Entities.Linha( nome: "Linha 1", id: 1 ); linha.AdicionarParada(parada); await context.AddAsync(parada); await context.AddAsync(linha); await context.SaveChangesAsync(); //act var linhas = await obterLinhasPorParada.Executar(latitude : -8.771593, longitude : -63.847208); //assert Assert.True(linhas.Count == 1); }
public async Task Executar(LinhaDto linhaDto) { var linha = new Domain.Entities.Linha( linhaDto.Nome ); await context.AddAsync(linha); await context.SaveChangesAsync(); }
public async Task NaoDeveVincularUmVeiculoNaLinhaPoisOVeiculoNaoFoiEncontrado() { //arrange var veiculoNaLinhaDto = new VeiculoNaLinhasDto() { LinhaId = 1, VeiculoId = 2 }; var veiculoDto = new VeiculoDto() { Nome = "Veículo 1", Modelo = "Mercedes", Localizacao = new LocalizacaoDto() { Latitude = -8.771593, Longitude = -63.847208 } }; var veiculo = new Domain.Entities.Veiculo( veiculoDto.Nome, veiculoDto.Modelo, new Domain.ValueObjects.Localizacao( veiculoDto.Localizacao.Latitude, veiculoDto.Localizacao.Longitude ) ); var linha = new Domain.Entities.Linha( nome: "Linha 1", id: 1 ); linha.AdicionarVeiculo(veiculo); await context.AddAsync(veiculo); await context.AddAsync(linha); await context.SaveChangesAsync(); //act await vincularVeiculo.Executar(veiculoNaLinhaDto); //assert Assert.True(vincularVeiculo.Notifications.ContainsKey("veiculo-nao-encontrado")); }
public async Task NaoDeveVincularUmaParadaNaLinhaPoisAParadaJaEstaVinculada() { //arrange var paradaNaLinhaDto = new ParadaNaLinhaDto() { LinhaId = 1, ParadaId = 2 }; var paradaDto = new ParadaDto() { Nome = "Parada 1", Localizacao = new LocalizacaoDto() { Latitude = -8.771593, Longitude = -63.847208 } }; var parada = new Domain.Entities.Parada( paradaDto.Nome, new Domain.ValueObjects.Localizacao( paradaDto.Localizacao.Latitude, paradaDto.Localizacao.Longitude ) ); var linha = new Domain.Entities.Linha( nome: "Linha 1", id: 1 ); linha.AdicionarParada(parada); await context.AddAsync(parada); await context.AddAsync(linha); await context.SaveChangesAsync(); //act await vincularParada.Executar(paradaNaLinhaDto); //assert Assert.False(vincularParada.Notifications.ContainsKey("parada-vinculada")); }
public async Task DeveListarUmaLinhaPorId() { //arrange var linha = new Domain.Entities.Linha( nome: "Linha 1", id: 1 ); await context.AddAsync(linha); await context.SaveChangesAsync(); //act var linhaCadastrada = await obterLinhaPorId.Executar(id : 1); //assert Assert.NotNull(linhaCadastrada); }
public async Task DeveListarUmaLinha() { //arrange var linha = new Domain.Entities.Linha( nome: "Linha 1", id: 1 ); await context.AddAsync(linha); await context.SaveChangesAsync(); //act var linhas = await listarTodasAsLinhas.Executar(); //assert Assert.True(linhas.Count == 1); }
public async Task NaoDeveDeletarUmaLinha() { //arrange var linha = new Domain.Entities.Linha( nome: "Linha 1", id: 1 ); await context.AddAsync(linha); await context.SaveChangesAsync(); //act await deletarLinha.Executar(id : 2); //assert Assert.True(deletarLinha.Notifications.ContainsKey("not-found")); }
public async Task DeveDeletarUmaLinha() { //arrange var linha = new Domain.Entities.Linha( nome: "Linha 1", id: 1 ); await context.AddAsync(linha); await context.SaveChangesAsync(); //act await deletarLinha.Executar(id : 1); //assert Assert.False(deletarLinha.Notifications.Any()); }
public async Task Executar(LinhaDto linhaDto) { var linhaExiste = await context.Linhas.AnyAsync(x => x.Id == linhaDto.Id); if (linhaExiste) { var linha = new Domain.Entities.Linha( linhaDto.Nome, id: linhaDto.Id ); context.Update(linha); await context.SaveChangesAsync(); } else { Notifications.Add("not-found", "Linha não encontrada!"); } }
public async Task DeveDesvincularUmVeiculoNaLinha() { //arrange var veiculoDto = new VeiculoDto() { Nome = "Veículo 1", Modelo = "Mercedes", Localizacao = new LocalizacaoDto() { Latitude = -8.771593, Longitude = -63.847208 } }; var veiculo = new Domain.Entities.Veiculo( veiculoDto.Nome, veiculoDto.Modelo, new Domain.ValueObjects.Localizacao( veiculoDto.Localizacao.Latitude, veiculoDto.Localizacao.Longitude ) ); var linha = new Domain.Entities.Linha( nome: "Linha 1", id: 1 ); linha.AdicionarVeiculo(veiculo); await context.AddAsync(veiculo); await context.AddAsync(linha); await context.SaveChangesAsync(); //act await desvincularVeiculo.Executar(id : 1); //assert Assert.True(linha.Veiculos.Count == 0); }
public async Task DeveDesvincularUmaParadaNaLinha() { //arrange var paradaDto = new ParadaDto() { Nome = "Parada 1", Localizacao = new LocalizacaoDto() { Latitude = -8.771593, Longitude = -63.847208 } }; var parada = new Domain.Entities.Parada( paradaDto.Nome, new Domain.ValueObjects.Localizacao( paradaDto.Localizacao.Latitude, paradaDto.Localizacao.Longitude ) ); var linha = new Domain.Entities.Linha( nome: "Linha 1", id: 1 ); linha.AdicionarParada(parada); await context.AddAsync(parada); await context.AddAsync(linha); await context.SaveChangesAsync(); //act await desvincularParada.Executar(linha.Id, parada.Id); //assert Assert.True(linha.Paradas.Count == 0); }
public async Task NaoDeveEditarUmaLinha() { //arrange var linhaDto = new LinhaDto() { Id = 2, Nome = "Linha 2" }; var linha = new Domain.Entities.Linha( nome: "Linha 1", id: 1 ); await context.AddAsync(linha); await context.SaveChangesAsync(); //act await editarLinha.Executar(linhaDto); //assert Assert.True(editarLinha.Notifications.ContainsKey("not-found")); }