示例#1
0
        public async Task AcceptOrder_WhenCalled_SendsPushNotification()
        {
            // Arrange
            var taxiCompanyId = "someId";
            var orderId       = 1;

            var taxiCompany = new TaxiCompany();
            var order       = new Order();

            order.TaxiCompany = taxiCompany;

            var ride = new Ride();

            ride.StartDestination = new Address("", 1, "", 1);
            ride.EndDestination   = new Address("", 1, "", 1);

            order.Rides = new List <Ride> {
                ride
            };

            _unitOfWork.OrderRepository.FindByIDAsync(null).ReturnsForAnyArgs(order);
            _unitOfWork.TaxiCompanyRepository.FindByIDAsync(null).ReturnsForAnyArgs(taxiCompany);

            // Act
            await _orderService.AcceptOrderAsync(taxiCompanyId, orderId);

            // Assert
            await _pushNotificationService.Received().SendAsync(Arg.Any <IPushNotification>());
        }