| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | 
							- <?php
 - 
 - namespace Database\Factories\Setting;
 - 
 - use App\Enums\Setting\EntityType;
 - use App\Faker\State;
 - use App\Models\Common\Address;
 - use App\Models\Company;
 - use App\Models\Setting\CompanyProfile;
 - use Illuminate\Database\Eloquent\Factories\Factory;
 - 
 - /**
 -  * @extends Factory<CompanyProfile>
 -  */
 - class CompanyProfileFactory extends Factory
 - {
 -     /**
 -      * The name of the factory's corresponding model.
 -      */
 -     protected $model = CompanyProfile::class;
 - 
 -     /**
 -      * Define the model's default state.
 -      *
 -      * @return array<string, mixed>
 -      */
 -     public function definition(): array
 -     {
 -         return [
 -             'phone_number' => $this->faker->phoneNumber,
 -             'email' => $this->faker->email,
 -             'entity_type' => $this->faker->randomElement(EntityType::class),
 -         ];
 -     }
 - 
 -     public function forCompany(Company $company): self
 -     {
 -         return $this->state([
 -             'company_id' => $company->id,
 -             'created_by' => $company->owner->id,
 -             'updated_by' => $company->owner->id,
 -         ]);
 -     }
 - 
 -     public function withAddress(?string $countryCode = null): self
 -     {
 -         return $this->has(
 -             Address::factory()
 -                 ->general()
 -                 ->when($countryCode, function (Factory $factory) use ($countryCode) {
 -                     return $factory->forCountry($countryCode);
 -                 })
 -                 ->useParentCompany()
 -         );
 -     }
 - }
 
 
  |