public async void Should_Return_Unprocessable_If_No_Rows_Affected()
        {
            // ARRANGE
            var validator          = new CreateRideCommandValidator();
            var rideRepositoryMock = new Mock <IRideRepository>();
            var loggerMock         = new Mock <ILogger>();

            var handler = new CreateRideCommandHandler(
                rideRepositoryMock.Object,
                loggerMock.Object,
                validator
                );

            rideRepositoryMock.Setup(x => x.InsertRide(It.IsAny <Domain.Models.Rides.Ride>())).ReturnsAsync(0);

            // ACT
            var response = await handler.Handle(new CreateRideCommand()
            {
                Ride = new Domain.Models.Rides.Ride()
                {
                    RideId = "1"
                }
            }, new CancellationToken());

            // ASSERT
            Assert.Equal(CommandResultTypeEnum.UnprocessableEntity, response.Type);
            rideRepositoryMock.Verify(x => x.InsertRide(It.IsAny <Domain.Models.Rides.Ride>()), Times.Once);
        }
        public async void Request_With_No_Id_Should_Return_Invalid_Input()
        {
            // ARRANGE
            var validator          = new CreateRideCommandValidator();
            var rideRepositoryMock = new Mock <IRideRepository>();
            var loggerMock         = new Mock <ILogger>();

            var handler = new CreateRideCommandHandler(
                rideRepositoryMock.Object,
                loggerMock.Object,
                validator
                );

            // ACT
            var response = await handler.Handle(new CreateRideCommand()
            {
                Ride = new Domain.Models.Rides.Ride()
            }, new CancellationToken());

            // ASSERT
            Assert.Equal(CommandResultTypeEnum.InvalidInput, response.Type);
        }