/**
  * 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));
 }