public async Task TestMethodsCalled()
        {
            var pedidoFacade = new PedidoFacade(
                _pedidoService,
                _clienteRepository,
                _pedidoRepository,
                _droneRepository,
                _pagamentoServiceFactory,
                _pedidoDroneRepository);

            var pedidos = SetupTests.GetPedidosList();

            _pedidoRepository.ObterPedidos(Arg.Any <int>())
            .Returns(pedidos);
            _clienteRepository.GetByIdAsync(Arg.Any <int>())
            .Returns(SetupTests.GetCliente());
            _pedidoService.DroneAtendePedido(pedidos[0])
            .Returns(SetupTests.GetDroneDto());
            _droneRepository.GetByIdAsync(Arg.Any <int>())
            .Returns(SetupTests.GetDrone());
            _pedidoRepository.FindByIdAsync(Arg.Any <string>())
            .Returns(pedidos[0]);

            await pedidoFacade.AssignDroneAsync();


            await _pedidoService.Received().DroneAtendePedido(Arg.Any <Pedido>());

            _pedidoRepository.Received().ReplaceOne(Arg.Any <Pedido>());
            await _pedidoDroneRepository.Received().AddAsync(Arg.Any <PedidoDrone>());
        }
        public async Task RetornaPedidosEmAbertoTest()
        {
            _pedidoRepository.FindByIdAsync(Arg.Any <string>()).Returns(SetupTests.GetPedido());
            _clienteRepository.GetByIdAsync(Arg.Any <int>()).Returns(SetupTests.GetCliente());

            var pedidos = await _pedidoDroneRepository.RetornaPedidosEmAbertoAsync();

            Assert.True(pedidos.Count > 0);
        }
Esempio n. 3
0
        public async Task CriarPedido()
        {
            const string clientePassword = "******";
            const string pedidoId        = "1";

            var cliente = new Cliente
            {
                Id        = 1,
                Latitude  = -23.5880684,
                Longitude = -46.6564195,
                Nome      = "João Silva Antunes",
                UserId    = "joaoantunes",
                Password  = clientePassword
            };

            var pedido = new Pedido
            {
                Peso                = 100,
                Situacao            = (int)StatusPedido.AGUARDANDO,
                DataHoraInclusao    = DateTime.Now,
                DataHoraFinalizacao = DateTime.Now,
                Cliente             = cliente
            };

            await _pedidoRepository.InsertOneAsync(pedido);

            Assert.Single(await _pedidoRepository.FindAll(p => p.Id == ObjectId.Parse(pedidoId)));

            var pedidoTets = await _pedidoRepository.FindByIdAsync(pedidoId.ToString());

            Assert.Equal(pedidoTets.Cliente.Password, clientePassword);
        }