public async Task <IActionResult> AdicionarNovoRegistro(
            [FromBody] RegistrarPassagemPeloTerminal.Command command,
            [FromServices] RegistrarPassagemPeloTerminal.CommandHandler handler)
        {
            await handler.Handle(command);

            return(Ok());
        }
示例#2
0
        public async Task InsertAlreadyExistingDriver_Err()
        {
            using (var runner = MongoDbRunner.Start())
            {
                var database   = new DatabaseService(runner.ConnectionString, "InsertAlreadyExistingDriver_Err");
                var collection = database.GetCollection <Motorista>();
                await collection.InsertOneAsync(new Motorista
                {
                    Id    = "40af192e110d19029d986dea",
                    Cpf   = "123.456.789-00",
                    Idade = 20,
                    Nome  = "Firstname Lastname",
                    Sexo  = Sexo.Feminino,
                    PossuiVeiculoProprio = true,
                    TipoCnh = TipoCnh.D
                });

                var registroHandler = new RegistrarPassagemPeloTerminal.CommandHandler(database);

                var command = new Command
                {
                    Cpf    = "123.456.789-00",
                    Origem = new Local {
                        Nome = "Local 1", Localizacao = new Localizacao {
                            Type = "Point", Coordinates = new double[] { 10, 10 }
                        }
                    },
                    Destino = new Local {
                        Nome = "Local 2", Localizacao = new Localizacao {
                            Type = "Point", Coordinates = new double[] { 15, 25 }
                        }
                    },
                    EstaCarregado        = false,
                    Idade                = 20,
                    Nome                 = "New Driver",
                    Sexo                 = Sexo.Masculino,
                    TipoCaminhao         = TipoCaminhao.CaminhaoToco,
                    PossuiVeiculoProprio = true,
                    TipoCnh              = TipoCnh.D
                };

                var handler  = new CommandHandler(database, registroHandler);
                var resolved = await handler.Handle(command);

                Assert.IsTrue(resolved.IsErr);

                var count = database.GetCollectionAsQueryable <Registro>().Count();
                Assert.AreEqual(0, count);
            }
        }
示例#3
0
        public async Task InsertNewDriver_Sucessfull()
        {
            using (var runner = MongoDbRunner.Start())
            {
                var database = new DatabaseService(runner.ConnectionString, "InsertNewDriver_Sucessfull");

                var registroHandler = new RegistrarPassagemPeloTerminal.CommandHandler(database);

                var command = new Command
                {
                    Cpf     = "123.456.789-00",
                    Destino = new Local
                    {
                        Nome        = "Local 1",
                        Localizacao = new Localizacao {
                            Type = "Point", Coordinates = new double[] { 10, 10 }
                        }
                    },
                    Origem = new Local
                    {
                        Nome        = "Local 2",
                        Localizacao = new Localizacao {
                            Type = "Point", Coordinates = new double[] { 20, 20 }
                        }
                    },
                    EstaCarregado        = false,
                    Idade                = 20,
                    Nome                 = "New Driver",
                    Sexo                 = Sexo.Masculino,
                    PossuiVeiculoProprio = true,
                    TipoCaminhao         = TipoCaminhao.CaminhaoToco,
                    TipoCnh              = TipoCnh.D
                };

                var handler  = new CommandHandler(database, registroHandler);
                var resolved = await handler.Handle(command);

                Assert.IsTrue(resolved.IsOk);

                var collection = database.GetCollectionAsQueryable <Motorista>();
                var motorista  = collection.SingleOrDefault(m => m.Cpf == "123.456.789-00");

                Assert.IsNotNull(motorista);
                Assert.AreEqual(command.Nome, motorista.Nome);
            }
        }