public async Task AllWithCompaniesAsync_SouldReturn_CollectionWithAllPropertiesForEachCompany_FromDb()
        {
            var db     = this.GetDatabase();
            var mapper = this.GetMapper();


            var firstProp = new Property
            {
                Id       = 1,
                Name     = "Голям склад",
                Area     = 400,
                IsActual = true
            };
            var secondProp = new Property
            {
                Id       = 2,
                Name     = "Голям склад",
                Area     = 300,
                IsActual = true
            };
            var thirdProp = new Property
            {
                Id       = 3,
                Name     = "Офис",
                Area     = 80,
                IsActual = true
            };
            var forthProp = new Property
            {
                Id       = 4,
                Name     = "Стая",
                Area     = 20,
                IsActual = true
            };

            var companyOne = new Company
            {
                Id         = 1,
                Name       = "First",
                Properties = new List <Property>()
                {
                    firstProp
                }
            };
            var companyTwo = new Company
            {
                Id         = 2,
                Name       = "Second",
                Properties = new List <Property>()
                {
                    thirdProp, forthProp, secondProp
                }
            };
            await db.Companies.AddRangeAsync(companyOne, companyTwo);

            await db.SaveChangesAsync();

            var propertyService = new PropertiesService(mapper, db);

            var result = await propertyService.AllWithCompaniesAsync();

            result
            .Should()
            .NotBeEmpty()
            .And
            .HaveCount(2)
            .And
            .Match(c =>
                   c.ElementAt(0).CompanyId == 1 &&
                   c.ElementAt(1).CompanyName == "Second" &&
                   c.ElementAt(0).Properties.Count() == 1);
        }