public async Task CancelCarReservationAsync_Valid_UpdatesReservationStateAndRentalFeePaid()
        {
            //Arrange
            var mockedReservationRepository = GetReservationRepositoryWithReservation(50, ReservationState.Booked);
            var bl = new BLReservation(mockedReservationRepository, null, null, mockedUnitOfWork);

            //Act
            var reservation = await bl.CancelCarReservationAsync(50);

            //Assert
            Assert.Equal(ReservationState.Cancelled, reservation.State);
            Assert.Equal(5, reservation.ClientAccount.CancellationFeePaid);
        }
        public async Task CancelCarReservationAsync_Invalid_ThrowsCustomException(long reservationIdToCancel, long reservationIdInDb, ReservationState previousState, ErrorCode errorCode)
        {
            //Arrange
            var mockedReservationRepository = GetReservationRepositoryWithReservation(reservationIdInDb, previousState);
            var bl = new BLReservation(mockedReservationRepository, null, null, mockedUnitOfWork);

            //Act
            async Task actCancel() => await bl.CancelCarReservationAsync(reservationIdToCancel);

            //Assert
            var exception = await Assert.ThrowsAsync <CustomException>(actCancel);

            Assert.Equal(errorCode, exception.code);
        }