/** * Run the database seeds. * * @return void */ public function run() { $dbIndustryRepository = new DbIndustryRepository(); $dbCountryRepository = new DbCountryRepository(); $dbUserRepository = new DbUserRepository(); $healthIndustry = $dbIndustryRepository->findByName('Health'); $countries = $dbCountryRepository->all()->toArray(); $companyRepresentativeUsers = $dbUserRepository->withCompanyRepresentativeRole()->get()->toArray(); $faker = Factory::create(); foreach ($this->popularCompanies as $company) { factory(Company::class, 'relationless')->create(['name' => $company['name'], 'description' => $company['description'], 'industry_id' => $healthIndustry->id, 'country_id' => $faker->randomElement($countries)['id'], 'user_id' => $faker->randomElement($companyRepresentativeUsers)['id'], 'logo_id' => factory(File::class)->create()->id]); } }
/** @test */ public function it_returns_company_representative_users() { $dbUserRepository = new DbUserRepository(); factory(User::class, 2)->create(); // Use to validate it does not return these. $actualCompanyRepresentativeUsers = factory(User::class, 2)->create(); $dbUserRepository->assignCompanyRepresentativeRole($actualCompanyRepresentativeUsers->get(0)); $dbUserRepository->assignCompanyRepresentativeRole($actualCompanyRepresentativeUsers->get(1)); $expectedUsers = $dbUserRepository->withCompanyRepresentativeRole()->get(); $keys = $actualCompanyRepresentativeUsers->get(0)->getFillable(); $this->assertSame(array_only($expectedUsers->toArray(), $keys), array_only($actualCompanyRepresentativeUsers->toArray(), $keys)); }