[Fact] // 2. async Task<RentalInfoServiceModel> GetDetailsAsync(int id)
        public async void GetDetailsAsync_WithGivenRenalId_ShouldReturnModelWithDetails()
        {
            // Arrange
            var ownerId        = Guid.NewGuid().ToString();
            var anotherOwnerId = Guid.NewGuid().ToString();
            var country        = CountryCreator.Create();
            var city           = CityCreator.Create(country.Id);

            var home1 = HomeCreator.CreateOwnerHome(ownerId, city.Id);
            var home2 = HomeCreator.CreateManagedHome(ownerId, city.Id);
            var home3 = HomeCreator.CreateManagedHome(ownerId, city.Id);
            var home4 = HomeCreator.CreateManagedHome(anotherOwnerId, city.Id);

            var user1 = UserCreator.Create("Debelin", "Butov", "but4eto", "*****@*****.**");
            var user2 = UserCreator.Create("Shunko", "Shpekov", "shpeka", "*****@*****.**");
            var user3 = UserCreator.Create("Suzdurma", "Saturov", "satura", "*****@*****.**");

            int id1 = 1;
            int id2 = 2;
            int id3 = 3;
            int id4 = 4;

            var contract1 = ContractCreator.CreateRentalContract(id1);
            var contract2 = ContractCreator.CreateRentalContract(id2);
            var contract3 = ContractCreator.CreateRentalContract(id3);
            var contract4 = ContractCreator.CreateRentalContract(id4);

            var rental1 = RentalCreator.Create(id1, country, city, user1, home1, contract1);
            var rental2 = RentalCreator.Create(id2, country, city, user2, home2, contract2);
            var rental3 = RentalCreator.Create(id3, country, city, user3, home3, contract3);
            var rental4 = RentalCreator.Create(id4, country, city, user3, home4, contract4);

            await this.Context.Countries.AddAsync(country);

            await this.Context.Cities.AddAsync(city);

            await this.Context.Homes.AddRangeAsync(home1, home2, home3, home4);

            await this.Context.Users.AddRangeAsync(user1, user2, user3);

            await this.Context.Rentals.AddRangeAsync(rental1, rental2, rental3, rental4);

            await this.Context.Contracts.AddRangeAsync(contract1, contract2, contract3, contract4);

            await this.Context.SaveChangesAsync();

            var service = new RentalService(this.Context);

            // Act
            var result = await service.GetDetailsAsync(rental1.Id);

            var expected = await this.Context.Rentals
                           .Where(r => r.Id == rental1.Id)
                           .FirstOrDefaultAsync();

            // Assert
            result.Should().BeOfType <RentalInfoServiceModel>();
            result.HomeId.Should().Be(expected.Home.Id);
        }