feat: remove all database factories
This commit is contained in:
parent
7f51781334
commit
a6ab65adc4
@ -1,46 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Database\Factories;
|
|
||||||
|
|
||||||
use App\Models\Announcement;
|
|
||||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\Announcement>
|
|
||||||
*/
|
|
||||||
class AnnouncementFactory extends Factory
|
|
||||||
{
|
|
||||||
protected $model = Announcement::class;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Define the model's default state.
|
|
||||||
*
|
|
||||||
* @return array<string, mixed>
|
|
||||||
*/
|
|
||||||
public function definition(): array
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
'content' => $this->faker->paragraphs(2, true),
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the announcement is important.
|
|
||||||
*/
|
|
||||||
public function important(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'content' => 'PENTING: '.$this->faker->sentence(10),
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the announcement is informational.
|
|
||||||
*/
|
|
||||||
public function informational(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'content' => 'INFORMASI: '.$this->faker->paragraph(),
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,49 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Database\Factories;
|
|
||||||
|
|
||||||
use App\Models\Announcement;
|
|
||||||
use App\Models\AnnouncementMedia;
|
|
||||||
use App\Models\User;
|
|
||||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\AnnouncementMedia>
|
|
||||||
*/
|
|
||||||
class AnnouncementMediaFactory extends Factory
|
|
||||||
{
|
|
||||||
protected $model = AnnouncementMedia::class;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Define the model's default state.
|
|
||||||
*
|
|
||||||
* @return array<string, mixed>
|
|
||||||
*/
|
|
||||||
public function definition(): array
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
'announcement_id' => Announcement::factory(),
|
|
||||||
'partner_media_id' => PartnerMedia::factory(),
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the announcement user is for a specific announcement.
|
|
||||||
*/
|
|
||||||
public function forAnnouncement(Announcement $announcement): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'announcement_id' => $announcement->id,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the announcement user is for a specific partner media.
|
|
||||||
*/
|
|
||||||
public function forPartnerMedia(PartnerMedia $partnerMedia): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'partner_media_id' => $partnerMedia->id,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,50 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Database\Factories;
|
|
||||||
|
|
||||||
use App\Enums\IsActive;
|
|
||||||
use App\Models\Classification;
|
|
||||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\Classification>
|
|
||||||
*/
|
|
||||||
class ClassificationFactory extends Factory
|
|
||||||
{
|
|
||||||
protected $model = Classification::class;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Define the model's default state.
|
|
||||||
*
|
|
||||||
* @return array<string, mixed>
|
|
||||||
*/
|
|
||||||
public function definition(): array
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
'name' => $this->faker->words(2, true),
|
|
||||||
'description' => $this->faker->sentence(),
|
|
||||||
'is_active' => $this->faker->randomElement([IsActive::ACTIVE->value, IsActive::INACTIVE->value]),
|
|
||||||
'sort_order' => $this->faker->numberBetween(0, 100),
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the classification is active.
|
|
||||||
*/
|
|
||||||
public function active(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'is_active' => IsActive::ACTIVE->value,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the classification is inactive.
|
|
||||||
*/
|
|
||||||
public function inactive(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'is_active' => IsActive::INACTIVE->value,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,71 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Database\Factories;
|
|
||||||
|
|
||||||
use App\Enums\VerificationStatus;
|
|
||||||
use App\Models\Company;
|
|
||||||
use App\Models\User;
|
|
||||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\Company>
|
|
||||||
*/
|
|
||||||
class CompanyFactory extends Factory
|
|
||||||
{
|
|
||||||
protected $model = Company::class;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Define the model's default state.
|
|
||||||
*
|
|
||||||
* @return array<string, mixed>
|
|
||||||
*/
|
|
||||||
public function definition(): array
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
'user_id' => User::factory(),
|
|
||||||
'name' => $this->faker->company(),
|
|
||||||
'email' => $this->faker->unique()->companyEmail(),
|
|
||||||
'address' => $this->faker->address(),
|
|
||||||
'director_name' => $this->faker->name(),
|
|
||||||
'director_nik' => $this->faker->numerify('################'),
|
|
||||||
'deed_incorporation' => $this->faker->numerify('AHU-#######.AH.##.##'),
|
|
||||||
'trade_license' => $this->faker->numerify('###/###/SIUP/####'),
|
|
||||||
'tax_id_number' => $this->faker->numerify('##.###.###.#-###.###'),
|
|
||||||
'taxable_enterprise' => $this->faker->numerify('###.###.###.###'),
|
|
||||||
'annual_tax_return' => $this->faker->numerify('SPT-####-########'),
|
|
||||||
'domicile_certificate' => $this->faker->numerify('###/###/DOMISILI/####'),
|
|
||||||
'profile' => $this->faker->numerify('PROFILE-####-########'),
|
|
||||||
'profile' => $this->faker->numerify('PROFILE-####-########'),
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the company is validated.
|
|
||||||
*/
|
|
||||||
public function validated(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'status' => VerificationStatus::APPROVED,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the company is rejected.
|
|
||||||
*/
|
|
||||||
public function rejected(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'status' => VerificationStatus::REJECTED,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the company is pending validation.
|
|
||||||
*/
|
|
||||||
public function pending(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'status' => VerificationStatus::PENDING,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,110 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Database\Factories;
|
|
||||||
|
|
||||||
use App\Enums\ContentType;
|
|
||||||
use App\Enums\SocialMedia;
|
|
||||||
use App\Models\Classification;
|
|
||||||
use App\Models\ContentRecap;
|
|
||||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\ContentRecap>
|
|
||||||
*/
|
|
||||||
class ContentRecapFactory extends Factory
|
|
||||||
{
|
|
||||||
protected $model = ContentRecap::class;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Define the model's default state.
|
|
||||||
*
|
|
||||||
* @return array<string, mixed>
|
|
||||||
*/
|
|
||||||
public function definition(): array
|
|
||||||
{
|
|
||||||
$channels = [
|
|
||||||
'Website',
|
|
||||||
'Facebook',
|
|
||||||
'Instagram',
|
|
||||||
'Twitter',
|
|
||||||
'YouTube',
|
|
||||||
'TikTok',
|
|
||||||
'WhatsApp',
|
|
||||||
'Telegram',
|
|
||||||
'LinkedIn',
|
|
||||||
];
|
|
||||||
|
|
||||||
return [
|
|
||||||
'classification_id' => Classification::factory(),
|
|
||||||
'title' => $this->faker->sentence(4),
|
|
||||||
'link' => $this->faker->optional(0.8)->url(),
|
|
||||||
'posting_date' => $this->faker->dateTimeBetween('-6 months', 'now')->format('Y-m-d'),
|
|
||||||
'type' => $this->faker->randomElement(ContentType::cases())->value,
|
|
||||||
'channel' => $this->faker->randomElement($channels),
|
|
||||||
'social_media' => $this->faker->randomElement(SocialMedia::cases())->value,
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the content recap is photo type.
|
|
||||||
*/
|
|
||||||
public function photo(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'type' => ContentType::FOTO->value,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the content recap is video type.
|
|
||||||
*/
|
|
||||||
public function video(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'type' => ContentType::VIDEO->value,
|
|
||||||
'channel' => $this->faker->randomElement(['YouTube', 'Instagram', 'TikTok']),
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the content recap is text type.
|
|
||||||
*/
|
|
||||||
public function text(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'type' => ContentType::TEXT->value,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the content recap is graphic type.
|
|
||||||
*/
|
|
||||||
public function graphic(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'type' => ContentType::GRAPHIC->value,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the content recap is for Instagram.
|
|
||||||
*/
|
|
||||||
public function instagram(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'channel' => 'Instagram',
|
|
||||||
'social_media' => 'Instagram',
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the content recap is for Facebook.
|
|
||||||
*/
|
|
||||||
public function facebook(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'channel' => 'Facebook',
|
|
||||||
'social_media' => 'Facebook',
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,61 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Database\Factories;
|
|
||||||
|
|
||||||
use App\Enums\IsActive;
|
|
||||||
use App\Models\Department;
|
|
||||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\Department>
|
|
||||||
*/
|
|
||||||
class DepartmentFactory extends Factory
|
|
||||||
{
|
|
||||||
protected $model = Department::class;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Define the model's default state.
|
|
||||||
*
|
|
||||||
* @return array<string, mixed>
|
|
||||||
*/
|
|
||||||
public function definition(): array
|
|
||||||
{
|
|
||||||
$name = $this->faker->randomElement([
|
|
||||||
'Dinas Komunikasi dan Informatika',
|
|
||||||
'Dinas Pendidikan',
|
|
||||||
'Dinas Kesehatan',
|
|
||||||
'Dinas Pekerjaan Umum',
|
|
||||||
'Dinas Sosial',
|
|
||||||
'Dinas Pariwisata',
|
|
||||||
'Dinas Perhubungan',
|
|
||||||
'Dinas Lingkungan Hidup',
|
|
||||||
]);
|
|
||||||
|
|
||||||
return [
|
|
||||||
'name' => $name,
|
|
||||||
'alias' => strtoupper(substr(str_replace(['Dinas ', ' dan ', ' '], ['', '', ''], $name), 0, 10)),
|
|
||||||
'is_active' => $this->faker->randomElement([IsActive::ACTIVE->value, IsActive::INACTIVE->value]),
|
|
||||||
'sort_order' => $this->faker->numberBetween(0, 100),
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the department is active.
|
|
||||||
*/
|
|
||||||
public function active(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'is_active' => IsActive::ACTIVE->value,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the department is inactive.
|
|
||||||
*/
|
|
||||||
public function inactive(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'is_active' => IsActive::INACTIVE->value,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,109 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Database\Factories;
|
|
||||||
|
|
||||||
use App\Enums\IssueSentiment;
|
|
||||||
use App\Models\Classification;
|
|
||||||
use App\Models\IssueManagement;
|
|
||||||
use App\Models\Location;
|
|
||||||
use App\Models\MediaMonitoring;
|
|
||||||
use App\Models\SubClassification;
|
|
||||||
use App\Models\SubLocation;
|
|
||||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\IssueManagement>
|
|
||||||
*/
|
|
||||||
class IssueManagementFactory extends Factory
|
|
||||||
{
|
|
||||||
protected $model = IssueManagement::class;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Define the model's default state.
|
|
||||||
*
|
|
||||||
* @return array<string, mixed>
|
|
||||||
*/
|
|
||||||
public function definition(): array
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
'location_id' => Location::factory(),
|
|
||||||
'sub_location_id' => SubLocation::factory(),
|
|
||||||
'classification_id' => Classification::factory(),
|
|
||||||
'sub_classification_id' => SubClassification::factory(),
|
|
||||||
'media_monitoring_id' => MediaMonitoring::factory(),
|
|
||||||
'issue' => $this->faker->randomElement(IssueSentiment::cases())->value,
|
|
||||||
'response' => $this->faker->randomElement(IssueSentiment::cases())->value,
|
|
||||||
'description' => $this->faker->paragraphs(2, true),
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the issue is positive.
|
|
||||||
*/
|
|
||||||
public function positive(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'issue' => IssueSentiment::POSITIVE->value,
|
|
||||||
'response' => IssueSentiment::POSITIVE->value,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the issue is negative.
|
|
||||||
*/
|
|
||||||
public function negative(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'issue' => IssueSentiment::NEGATIVE->value,
|
|
||||||
'response' => $this->faker->randomElement([
|
|
||||||
IssueSentiment::POSITIVE->value,
|
|
||||||
IssueSentiment::NEUTRAL->value,
|
|
||||||
]),
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the issue is neutral.
|
|
||||||
*/
|
|
||||||
public function neutral(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'issue' => IssueSentiment::NEUTRAL->value,
|
|
||||||
'response' => IssueSentiment::NEUTRAL->value,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the issue is crisis.
|
|
||||||
*/
|
|
||||||
public function crisis(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'issue' => IssueSentiment::CRISIS->value,
|
|
||||||
'response' => $this->faker->randomElement([
|
|
||||||
IssueSentiment::POSITIVE->value,
|
|
||||||
IssueSentiment::NEUTRAL->value,
|
|
||||||
]),
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the issue has no sub location.
|
|
||||||
*/
|
|
||||||
public function withoutSubLocation(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'sub_location_id' => null,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the issue has no sub classification.
|
|
||||||
*/
|
|
||||||
public function withoutSubClassification(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'sub_classification_id' => null,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,54 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Database\Factories;
|
|
||||||
|
|
||||||
use App\Models\Journalist;
|
|
||||||
use App\Models\PartnerMedia;
|
|
||||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\Journalist>
|
|
||||||
*/
|
|
||||||
class JournalistFactory extends Factory
|
|
||||||
{
|
|
||||||
protected $model = Journalist::class;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Define the model's default state.
|
|
||||||
*
|
|
||||||
* @return array<string, mixed>
|
|
||||||
*/
|
|
||||||
public function definition(): array
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
'partner_media_id' => PartnerMedia::factory(),
|
|
||||||
'name' => $this->faker->name(),
|
|
||||||
'email' => $this->faker->unique()->safeEmail(),
|
|
||||||
'phone_number' => $this->faker->phoneNumber(),
|
|
||||||
'press_card' => $this->faker->optional(0.8)->numerify('PWI-####-########'),
|
|
||||||
'ukw_certificate' => $this->faker->optional(0.6)->numerify('UKW-####-########'),
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the journalist has press credentials.
|
|
||||||
*/
|
|
||||||
public function withCredentials(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'press_card' => $this->faker->numerify('PWI-####-########'),
|
|
||||||
'ukw_certificate' => $this->faker->numerify('UKW-####-########'),
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the journalist has no credentials.
|
|
||||||
*/
|
|
||||||
public function withoutCredentials(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'press_card' => null,
|
|
||||||
'ukw_certificate' => null,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,50 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Database\Factories;
|
|
||||||
|
|
||||||
use App\Enums\IsActive;
|
|
||||||
use App\Models\Location;
|
|
||||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\Location>
|
|
||||||
*/
|
|
||||||
class LocationFactory extends Factory
|
|
||||||
{
|
|
||||||
protected $model = Location::class;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Define the model's default state.
|
|
||||||
*
|
|
||||||
* @return array<string, mixed>
|
|
||||||
*/
|
|
||||||
public function definition(): array
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
'name' => $this->faker->city(),
|
|
||||||
'description' => $this->faker->sentence(),
|
|
||||||
'is_active' => $this->faker->randomElement([IsActive::ACTIVE->value, IsActive::INACTIVE->value]),
|
|
||||||
'sort_order' => $this->faker->numberBetween(0, 100),
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the location is active.
|
|
||||||
*/
|
|
||||||
public function active(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'is_active' => IsActive::ACTIVE->value,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the location is inactive.
|
|
||||||
*/
|
|
||||||
public function inactive(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'is_active' => IsActive::INACTIVE->value,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,106 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Database\Factories;
|
|
||||||
|
|
||||||
use App\Models\MediaMonitoring;
|
|
||||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\MediaMonitoring>
|
|
||||||
*/
|
|
||||||
class MediaMonitoringFactory extends Factory
|
|
||||||
{
|
|
||||||
protected $model = MediaMonitoring::class;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Define the model's default state.
|
|
||||||
*
|
|
||||||
* @return array<string, mixed>
|
|
||||||
*/
|
|
||||||
public function definition(): array
|
|
||||||
{
|
|
||||||
$mediaNames = [
|
|
||||||
'Kompas.com',
|
|
||||||
'Detik.com',
|
|
||||||
'Tribun News',
|
|
||||||
'Liputan6',
|
|
||||||
'CNN Indonesia',
|
|
||||||
'ANTARA News',
|
|
||||||
'Tempo.co',
|
|
||||||
'Okezone',
|
|
||||||
'Suara.com',
|
|
||||||
'Bisnis.com',
|
|
||||||
];
|
|
||||||
|
|
||||||
$channels = [
|
|
||||||
'Website',
|
|
||||||
'Facebook',
|
|
||||||
'Instagram',
|
|
||||||
'Twitter',
|
|
||||||
'YouTube',
|
|
||||||
'TikTok',
|
|
||||||
'WhatsApp',
|
|
||||||
'Telegram',
|
|
||||||
'LinkedIn',
|
|
||||||
];
|
|
||||||
|
|
||||||
return [
|
|
||||||
'code' => $this->faker->unique()->regexify('[A-Z]{2}[0-9]{8}'),
|
|
||||||
'media_name' => $this->faker->randomElement($mediaNames),
|
|
||||||
'title' => $this->faker->sentence(6),
|
|
||||||
'channel' => $this->faker->randomElement($channels),
|
|
||||||
'writter' => $this->faker->name(),
|
|
||||||
'link' => $this->faker->optional(0.8)->url(),
|
|
||||||
'news_page' => $this->faker->optional(0.3)->numberBetween(1, 20),
|
|
||||||
'quote' => $this->faker->optional(0.4)->paragraph(),
|
|
||||||
'content' => $this->faker->paragraphs(3, true),
|
|
||||||
'influencer' => $this->faker->optional(0.2)->name(),
|
|
||||||
'keyword' => implode(', ', $this->faker->words(3)),
|
|
||||||
'release_date' => $this->faker->dateTimeBetween('-1 year', 'now')->format('Y-m-d'),
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the media monitoring is for online media.
|
|
||||||
*/
|
|
||||||
public function online(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'channel' => $this->faker->randomElement(['Website', 'Facebook', 'Instagram', 'Twitter']),
|
|
||||||
'link' => $this->faker->url(),
|
|
||||||
'news_page' => null,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the media monitoring is for print media.
|
|
||||||
*/
|
|
||||||
public function print(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'channel' => 'Print',
|
|
||||||
'link' => null,
|
|
||||||
'news_page' => $this->faker->numberBetween(1, 20),
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the media monitoring has influencer mention.
|
|
||||||
*/
|
|
||||||
public function withInfluencer(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'influencer' => $this->faker->name(),
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the media monitoring has quote.
|
|
||||||
*/
|
|
||||||
public function withQuote(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'quote' => $this->faker->paragraph(),
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,29 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Database\Factories;
|
|
||||||
|
|
||||||
use App\Models\MediaMonitoring;
|
|
||||||
use App\Models\MediaMonitoringTheme;
|
|
||||||
use App\Models\Theme;
|
|
||||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\MediaMonitoringTheme>
|
|
||||||
*/
|
|
||||||
class MediaMonitoringThemeFactory extends Factory
|
|
||||||
{
|
|
||||||
protected $model = MediaMonitoringTheme::class;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Define the model's default state.
|
|
||||||
*
|
|
||||||
* @return array<string, mixed>
|
|
||||||
*/
|
|
||||||
public function definition(): array
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
'media_monitoring_id' => MediaMonitoring::factory(),
|
|
||||||
'theme_id' => Theme::factory(),
|
|
||||||
];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,65 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Database\Factories;
|
|
||||||
|
|
||||||
use App\Models\News;
|
|
||||||
use App\Models\User;
|
|
||||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
|
||||||
use Illuminate\Support\Str;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\News>
|
|
||||||
*/
|
|
||||||
class NewsFactory extends Factory
|
|
||||||
{
|
|
||||||
protected $model = News::class;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Define the model's default state.
|
|
||||||
*
|
|
||||||
* @return array<string, mixed>
|
|
||||||
*/
|
|
||||||
public function definition(): array
|
|
||||||
{
|
|
||||||
$title = $this->faker->sentence(6);
|
|
||||||
|
|
||||||
return [
|
|
||||||
'author_id' => User::factory(),
|
|
||||||
'title' => $title,
|
|
||||||
'slug' => Str::slug($title),
|
|
||||||
'content' => $this->faker->paragraphs(3, true),
|
|
||||||
'link' => $this->faker->optional(0.3)->url(),
|
|
||||||
'view' => $this->faker->numberBetween(0, 10000),
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the news has high views.
|
|
||||||
*/
|
|
||||||
public function popular(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'view' => $this->faker->numberBetween(5000, 50000),
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the news has external link.
|
|
||||||
*/
|
|
||||||
public function withLink(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'link' => $this->faker->url(),
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the news has no views.
|
|
||||||
*/
|
|
||||||
public function unpublished(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'view' => 0,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,81 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Database\Factories;
|
|
||||||
|
|
||||||
use App\Models\News;
|
|
||||||
use App\Models\NewsTags;
|
|
||||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\NewsTags>
|
|
||||||
*/
|
|
||||||
class NewsTagsFactory extends Factory
|
|
||||||
{
|
|
||||||
protected $model = NewsTags::class;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Define the model's default state.
|
|
||||||
*
|
|
||||||
* @return array<string, mixed>
|
|
||||||
*/
|
|
||||||
public function definition(): array
|
|
||||||
{
|
|
||||||
$tags = [
|
|
||||||
'Berita',
|
|
||||||
'Update',
|
|
||||||
'Pengumuman',
|
|
||||||
'Event',
|
|
||||||
'Kegiatan',
|
|
||||||
'Kominfo',
|
|
||||||
'Diskominfo',
|
|
||||||
'Pemerintah',
|
|
||||||
'Publik',
|
|
||||||
'Informasi',
|
|
||||||
'Layanan',
|
|
||||||
'Digital',
|
|
||||||
'Teknologi',
|
|
||||||
'Sosial',
|
|
||||||
'Ekonomi',
|
|
||||||
'Pendidikan',
|
|
||||||
'Kesehatan',
|
|
||||||
'Lingkungan',
|
|
||||||
'Infrastruktur',
|
|
||||||
'Transportasi',
|
|
||||||
];
|
|
||||||
|
|
||||||
return [
|
|
||||||
'news_id' => News::factory(),
|
|
||||||
'name' => $this->faker->randomElement($tags),
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the tag is for news category.
|
|
||||||
*/
|
|
||||||
public function news(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'name' => 'Berita',
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the tag is for announcement category.
|
|
||||||
*/
|
|
||||||
public function announcement(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'name' => 'Pengumuman',
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the tag is for event category.
|
|
||||||
*/
|
|
||||||
public function event(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'name' => 'Event',
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,120 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Database\Factories;
|
|
||||||
|
|
||||||
use App\Enums\MediaClassification;
|
|
||||||
use App\Enums\MediaType;
|
|
||||||
use App\Models\Company;
|
|
||||||
use App\Models\PartnerMedia;
|
|
||||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\PartnerMedia>
|
|
||||||
*/
|
|
||||||
class PartnerMediaFactory extends Factory
|
|
||||||
{
|
|
||||||
protected $model = PartnerMedia::class;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Define the model's default state.
|
|
||||||
*
|
|
||||||
* @return array<string, mixed>
|
|
||||||
*/
|
|
||||||
public function definition(): array
|
|
||||||
{
|
|
||||||
$mediaNames = [
|
|
||||||
'Kompas.com',
|
|
||||||
'Detik.com',
|
|
||||||
'Tribun News',
|
|
||||||
'Liputan6',
|
|
||||||
'CNN Indonesia',
|
|
||||||
'ANTARA News',
|
|
||||||
'Tempo.co',
|
|
||||||
'Okezone',
|
|
||||||
'Suara.com',
|
|
||||||
'Bisnis.com',
|
|
||||||
'Media Indonesia',
|
|
||||||
'Republika',
|
|
||||||
'Koran Sindo',
|
|
||||||
'Pikiran Rakyat',
|
|
||||||
];
|
|
||||||
|
|
||||||
return [
|
|
||||||
'company_id' => Company::factory(),
|
|
||||||
'name' => $this->faker->randomElement($mediaNames),
|
|
||||||
'address' => $this->faker->address(),
|
|
||||||
'link' => $this->faker->optional(0.8)->domainName(),
|
|
||||||
'type' => $this->faker->randomElement(MediaType::cases())->value,
|
|
||||||
'classification' => $this->faker->randomElement(MediaClassification::cases())->value,
|
|
||||||
'journalism_organization' => $this->faker->optional(0.6)->randomElement([
|
|
||||||
'Persatuan Wartawan Indonesia (PWI)',
|
|
||||||
'Aliansi Jurnalis Independen (AJI)',
|
|
||||||
'Ikatan Jurnalis Televisi Indonesia (IJTI)',
|
|
||||||
'Persatuan Jurnalis Online Indonesia (PJOI)',
|
|
||||||
]),
|
|
||||||
'press_council_certificate' => $this->faker->optional(0.7)->numerify('DEP-###/####/KP'),
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the partner media is online type.
|
|
||||||
*/
|
|
||||||
public function online(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'type' => MediaType::ONLINE->value,
|
|
||||||
'link' => $this->faker->domainName(),
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the partner media is print type.
|
|
||||||
*/
|
|
||||||
public function print(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'type' => MediaType::PRINT->value,
|
|
||||||
'link' => null,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the partner media is television type.
|
|
||||||
*/
|
|
||||||
public function television(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'type' => MediaType::TELEVISION->value,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the partner media is radio type.
|
|
||||||
*/
|
|
||||||
public function radio(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'type' => MediaType::RADIO->value,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the partner media is national classification.
|
|
||||||
*/
|
|
||||||
public function national(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'classification' => MediaClassification::NATIONAL->value,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the partner media is local classification.
|
|
||||||
*/
|
|
||||||
public function local(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'classification' => MediaClassification::LOCAL->value,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,52 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Database\Factories;
|
|
||||||
|
|
||||||
use App\Enums\IsActive;
|
|
||||||
use App\Models\Classification;
|
|
||||||
use App\Models\SubClassification;
|
|
||||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\SubClassification>
|
|
||||||
*/
|
|
||||||
class SubClassificationFactory extends Factory
|
|
||||||
{
|
|
||||||
protected $model = SubClassification::class;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Define the model's default state.
|
|
||||||
*
|
|
||||||
* @return array<string, mixed>
|
|
||||||
*/
|
|
||||||
public function definition(): array
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
'classification_id' => Classification::factory(),
|
|
||||||
'name' => $this->faker->words(2, true),
|
|
||||||
'description' => $this->faker->sentence(),
|
|
||||||
'is_active' => $this->faker->randomElement([IsActive::ACTIVE->value, IsActive::INACTIVE->value]),
|
|
||||||
'sort_order' => $this->faker->numberBetween(0, 100),
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the sub classification is active.
|
|
||||||
*/
|
|
||||||
public function active(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'is_active' => IsActive::ACTIVE->value,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the sub classification is inactive.
|
|
||||||
*/
|
|
||||||
public function inactive(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'is_active' => IsActive::INACTIVE->value,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,52 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Database\Factories;
|
|
||||||
|
|
||||||
use App\Enums\IsActive;
|
|
||||||
use App\Models\Location;
|
|
||||||
use App\Models\SubLocation;
|
|
||||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\SubLocation>
|
|
||||||
*/
|
|
||||||
class SubLocationFactory extends Factory
|
|
||||||
{
|
|
||||||
protected $model = SubLocation::class;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Define the model's default state.
|
|
||||||
*
|
|
||||||
* @return array<string, mixed>
|
|
||||||
*/
|
|
||||||
public function definition(): array
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
'location_id' => Location::factory(),
|
|
||||||
'name' => $this->faker->streetName(),
|
|
||||||
'description' => $this->faker->sentence(),
|
|
||||||
'is_active' => $this->faker->randomElement([IsActive::ACTIVE->value, IsActive::INACTIVE->value]),
|
|
||||||
'sort_order' => $this->faker->numberBetween(0, 100),
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the sub location is active.
|
|
||||||
*/
|
|
||||||
public function active(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'is_active' => IsActive::ACTIVE->value,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the sub location is inactive.
|
|
||||||
*/
|
|
||||||
public function inactive(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'is_active' => IsActive::INACTIVE->value,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,49 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Database\Factories;
|
|
||||||
|
|
||||||
use App\Enums\IsActive;
|
|
||||||
use App\Models\Theme;
|
|
||||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\Theme>
|
|
||||||
*/
|
|
||||||
class ThemeFactory extends Factory
|
|
||||||
{
|
|
||||||
protected $model = Theme::class;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Define the model's default state.
|
|
||||||
*
|
|
||||||
* @return array<string, mixed>
|
|
||||||
*/
|
|
||||||
public function definition(): array
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
'name' => $this->faker->words(2, true),
|
|
||||||
'is_active' => $this->faker->randomElement([IsActive::ACTIVE->value, IsActive::INACTIVE->value]),
|
|
||||||
'sort_order' => $this->faker->numberBetween(0, 100),
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the theme is active.
|
|
||||||
*/
|
|
||||||
public function active(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'is_active' => IsActive::ACTIVE->value,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the theme is inactive.
|
|
||||||
*/
|
|
||||||
public function inactive(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'is_active' => IsActive::INACTIVE->value,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,45 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Database\Factories;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
|
||||||
use Illuminate\Support\Facades\Hash;
|
|
||||||
use Illuminate\Support\Str;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\User>
|
|
||||||
*/
|
|
||||||
class UserFactory extends Factory
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* The current password being used by the factory.
|
|
||||||
*/
|
|
||||||
protected static ?string $password;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Define the model's default state.
|
|
||||||
*
|
|
||||||
* @return array<string, mixed>
|
|
||||||
*/
|
|
||||||
public function definition(): array
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
'name' => fake()->name(),
|
|
||||||
'email' => fake()->unique()->safeEmail(),
|
|
||||||
'username' => $this->faker->unique()->bothify('?????#####'),
|
|
||||||
'email_verified_at' => now(),
|
|
||||||
'password' => static::$password ??= Hash::make(config('auth.password_default')),
|
|
||||||
'remember_token' => Str::random(10),
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicate that the model's email address should be unverified.
|
|
||||||
*/
|
|
||||||
public function unverified(): static
|
|
||||||
{
|
|
||||||
return $this->state(fn (array $attributes) => [
|
|
||||||
'email_verified_at' => null,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Loading…
Reference in New Issue
Block a user