Esempio n. 1
0
        public async Task Add_WhenAddRental_ShouldSaveTheRental()
        {
            var clientId  = 1;
            var vehicleId = 1;

            _dbContext.Vehicles.Add(new Vehicle
            {
                Description = "Ford Focus",
                PricePerDay = 10
            });
            _dbContext.SaveChanges();

            var rental = new RentalDto
            {
                ClientId  = clientId,
                VehicleId = vehicleId,
                StartDate = new DateTime(2021, 4, 1),
                EndDate   = new DateTime(2021, 4, 10)
            };

            await _sut.AddNewRental(rental);

            _dbContext.Rentals.Count().Should().Be(1);
            var rentalAdded = await _dbContext.Rentals.FirstOrDefaultAsync();

            rentalAdded.Id.Should().Be(1);
            rentalAdded.ClientId.Should().Be(clientId);
            rentalAdded.VehicleId.Should().Be(vehicleId);
            rentalAdded.StartDate.Should().Be(new DateTime(2021, 4, 1));
            rentalAdded.EndDate.Should().Be(new DateTime(2021, 4, 10));
            rentalAdded.Price.Should().Be(90);
            rentalAdded.Canceled.Should().BeFalse();
        }