Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        public async Task Executar(LinhaDto linhaDto)
        {
            var linha = new Domain.Entities.Linha(
                linhaDto.Nome
                );

            await context.AddAsync(linha);

            await context.SaveChangesAsync();
        }
Example #4
0
        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"));
        }
Example #5
0
        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"));
        }
Example #6
0
        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);
        }
Example #7
0
        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);
        }
Example #8
0
        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"));
        }
Example #9
0
        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!");
            }
        }
Example #11
0
        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);
        }
Example #12
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);
        }
Example #13
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"));
        }