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 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 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); }