feat: Add factories for various models including Announcement, Category, Cooperation, and more for testing and seeding purposes.
This commit is contained in:
parent
9ac837f354
commit
93f5404d30
27
database/factories/AnnouncementFactory.php
Normal file
27
database/factories/AnnouncementFactory.php
Normal file
@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Enums\AnnouncementType;
|
||||
use App\Models\Announcement;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends Factory<Announcement>
|
||||
*/
|
||||
class AnnouncementFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'title' => fake()->sentence(),
|
||||
'content' => fake()->paragraphs(3, true),
|
||||
'type' => AnnouncementType::PUBLIC,
|
||||
];
|
||||
}
|
||||
}
|
||||
27
database/factories/AnnouncementMediaFactory.php
Normal file
27
database/factories/AnnouncementMediaFactory.php
Normal file
@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Models\Announcement;
|
||||
use App\Models\AnnouncementMedia;
|
||||
use App\Models\PartnerMedia;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends Factory<AnnouncementMedia>
|
||||
*/
|
||||
class AnnouncementMediaFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'announcement_id' => Announcement::factory(),
|
||||
'partner_media_id' => PartnerMedia::factory(),
|
||||
];
|
||||
}
|
||||
}
|
||||
26
database/factories/CategoryFactory.php
Normal file
26
database/factories/CategoryFactory.php
Normal file
@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Enums\IsActive;
|
||||
use App\Models\Category;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends Factory<Category>
|
||||
*/
|
||||
class CategoryFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'name' => fake()->unique()->word(),
|
||||
'is_active' => IsActive::ACTIVE,
|
||||
];
|
||||
}
|
||||
}
|
||||
27
database/factories/CategoryNewsFactory.php
Normal file
27
database/factories/CategoryNewsFactory.php
Normal file
@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Models\Category;
|
||||
use App\Models\CategoryNews;
|
||||
use App\Models\News;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends Factory<CategoryNews>
|
||||
*/
|
||||
class CategoryNewsFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'category_id' => Category::factory(),
|
||||
'news_id' => News::factory(),
|
||||
];
|
||||
}
|
||||
}
|
||||
41
database/factories/ClassificationFactory.php
Normal file
41
database/factories/ClassificationFactory.php
Normal file
@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Enums\IsActive;
|
||||
use App\Models\Classification;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends Factory<Classification>
|
||||
*/
|
||||
class ClassificationFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'name' => $this->faker->unique()->sentence(2),
|
||||
'description' => $this->faker->paragraph(),
|
||||
'is_active' => IsActive::ACTIVE,
|
||||
];
|
||||
}
|
||||
|
||||
public function active(): static
|
||||
{
|
||||
return $this->state(fn (array $attributes) => [
|
||||
'is_active' => IsActive::ACTIVE,
|
||||
]);
|
||||
}
|
||||
|
||||
public function inactive(): static
|
||||
{
|
||||
return $this->state(fn (array $attributes) => [
|
||||
'is_active' => IsActive::INACTIVE,
|
||||
]);
|
||||
}
|
||||
}
|
||||
38
database/factories/CompanyFactory.php
Normal file
38
database/factories/CompanyFactory.php
Normal file
@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Models\Company;
|
||||
use App\Models\User;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends Factory<Company>
|
||||
*/
|
||||
class CompanyFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'user_id' => User::factory(),
|
||||
'name' => fake()->company(),
|
||||
'email' => fake()->unique()->companyEmail(),
|
||||
'phone_number' => fake()->phoneNumber(),
|
||||
'address' => fake()->address(),
|
||||
'director_name' => fake()->name(),
|
||||
'director_nik' => fake()->numerify('################'),
|
||||
'deed_incorporation' => fake()->numerify('DEED-####'),
|
||||
'trade_license' => fake()->numerify('NIB-####'),
|
||||
'tax_id_number' => fake()->numerify('NPWP-####'),
|
||||
'taxable_enterprise' => fake()->numerify('PKP-####'),
|
||||
'annual_tax_return' => fake()->numerify('SPT-####'),
|
||||
'domicile_certificate' => fake()->numerify('DOM-####'),
|
||||
'profile' => fake()->sentence(),
|
||||
];
|
||||
}
|
||||
}
|
||||
27
database/factories/ContactFactory.php
Normal file
27
database/factories/ContactFactory.php
Normal file
@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Models\Contact;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends Factory<Contact>
|
||||
*/
|
||||
class ContactFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'name' => fake()->name(),
|
||||
'email' => fake()->safeEmail(),
|
||||
'subject' => fake()->sentence(),
|
||||
'message' => fake()->paragraph(),
|
||||
];
|
||||
}
|
||||
}
|
||||
34
database/factories/ContentRecapFactory.php
Normal file
34
database/factories/ContentRecapFactory.php
Normal file
@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Enums\Channel;
|
||||
use App\Enums\ContentType;
|
||||
use App\Enums\SocialMedia;
|
||||
use App\Models\Classification;
|
||||
use App\Models\ContentRecap;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends Factory<ContentRecap>
|
||||
*/
|
||||
class ContentRecapFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'classification_id' => Classification::factory(),
|
||||
'title' => fake()->sentence(),
|
||||
'link' => fake()->url(),
|
||||
'posting_date' => fake()->date(),
|
||||
'type' => ContentType::FOTO,
|
||||
'channel' => Channel::WEBSITE,
|
||||
'social_media' => SocialMedia::DISKOMINFO_PURWAKARTA,
|
||||
];
|
||||
}
|
||||
}
|
||||
29
database/factories/CooperationFactory.php
Normal file
29
database/factories/CooperationFactory.php
Normal file
@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Enums\CooperationStatus;
|
||||
use App\Models\Cooperation;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends Factory<Cooperation>
|
||||
*/
|
||||
class CooperationFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'title' => fake()->sentence(),
|
||||
'initial_submission_date' => fake()->date(),
|
||||
'final_submission_date' => fake()->date(),
|
||||
'description' => fake()->paragraph(),
|
||||
'status' => CooperationStatus::PENDING,
|
||||
];
|
||||
}
|
||||
}
|
||||
29
database/factories/CooperationMediaFactory.php
Normal file
29
database/factories/CooperationMediaFactory.php
Normal file
@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Enums\ApprovalStatus;
|
||||
use App\Models\Cooperation;
|
||||
use App\Models\CooperationMedia;
|
||||
use App\Models\PartnerMedia;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends Factory<CooperationMedia>
|
||||
*/
|
||||
class CooperationMediaFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'cooperation_id' => Cooperation::factory(),
|
||||
'partner_media_id' => PartnerMedia::factory(),
|
||||
'status' => ApprovalStatus::PENDING,
|
||||
];
|
||||
}
|
||||
}
|
||||
27
database/factories/CooperationPaymentFactory.php
Normal file
27
database/factories/CooperationPaymentFactory.php
Normal file
@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Models\CooperationMedia;
|
||||
use App\Models\CooperationPayment;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends Factory<CooperationPayment>
|
||||
*/
|
||||
class CooperationPaymentFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'cooperation_media_id' => CooperationMedia::factory(),
|
||||
'amount' => fake()->numberBetween(100000, 10000000),
|
||||
'payment_date' => fake()->date(),
|
||||
];
|
||||
}
|
||||
}
|
||||
30
database/factories/CooperationProposalFactory.php
Normal file
30
database/factories/CooperationProposalFactory.php
Normal file
@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Enums\ApprovalStatus;
|
||||
use App\Models\Cooperation;
|
||||
use App\Models\CooperationProposal;
|
||||
use App\Models\PartnerMedia;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends Factory<CooperationProposal>
|
||||
*/
|
||||
class CooperationProposalFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'cooperation_id' => Cooperation::factory(),
|
||||
'partner_media_id' => PartnerMedia::factory(),
|
||||
'description' => fake()->paragraph(),
|
||||
'status' => ApprovalStatus::PENDING,
|
||||
];
|
||||
}
|
||||
}
|
||||
33
database/factories/DataChangeRequestFactory.php
Normal file
33
database/factories/DataChangeRequestFactory.php
Normal file
@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Enums\DataChangeStatus;
|
||||
use App\Models\Company;
|
||||
use App\Models\DataChangeRequest;
|
||||
use App\Models\User;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends Factory<DataChangeRequest>
|
||||
*/
|
||||
class DataChangeRequestFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'user_id' => User::factory(),
|
||||
'entity_type' => Company::class,
|
||||
'entity_id' => Company::factory(),
|
||||
'status' => DataChangeStatus::PENDING,
|
||||
'old_data' => [],
|
||||
'new_data' => ['name' => 'New Company Name'],
|
||||
'change_reason' => fake()->sentence(),
|
||||
];
|
||||
}
|
||||
}
|
||||
30
database/factories/DataChangeReviewFactory.php
Normal file
30
database/factories/DataChangeReviewFactory.php
Normal file
@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Enums\DataChangeDecision;
|
||||
use App\Models\DataChangeRequest;
|
||||
use App\Models\DataChangeReview;
|
||||
use App\Models\User;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends Factory<DataChangeReview>
|
||||
*/
|
||||
class DataChangeReviewFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'data_change_request_id' => DataChangeRequest::factory(),
|
||||
'reviewer_id' => User::factory(),
|
||||
'decision' => DataChangeDecision::APPROVED,
|
||||
'note' => fake()->sentence(),
|
||||
];
|
||||
}
|
||||
}
|
||||
27
database/factories/DepartmentFactory.php
Normal file
27
database/factories/DepartmentFactory.php
Normal file
@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Enums\IsActive;
|
||||
use App\Models\Department;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends Factory<Department>
|
||||
*/
|
||||
class DepartmentFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'name' => fake()->unique()->words(2, true),
|
||||
'alias' => strtoupper(fake()->unique()->lexify('???')),
|
||||
'is_active' => IsActive::ACTIVE,
|
||||
];
|
||||
}
|
||||
}
|
||||
33
database/factories/IssueManagementFactory.php
Normal file
33
database/factories/IssueManagementFactory.php
Normal file
@ -0,0 +1,33 @@
|
||||
<?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 Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends Factory<IssueManagement>
|
||||
*/
|
||||
class IssueManagementFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'location_id' => Location::factory(),
|
||||
'classification_id' => Classification::factory(),
|
||||
'media_monitoring_id' => MediaMonitoring::factory(),
|
||||
'issue' => IssueSentiment::NEUTRAL,
|
||||
'response' => IssueSentiment::NEUTRAL,
|
||||
'description' => fake()->paragraph(),
|
||||
];
|
||||
}
|
||||
}
|
||||
28
database/factories/JournalistFactory.php
Normal file
28
database/factories/JournalistFactory.php
Normal file
@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Models\Journalist;
|
||||
use App\Models\PartnerMedia;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends Factory<Journalist>
|
||||
*/
|
||||
class JournalistFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'partner_media_id' => PartnerMedia::factory(),
|
||||
'name' => fake()->name(),
|
||||
'email' => fake()->unique()->safeEmail(),
|
||||
'phone_number' => fake()->phoneNumber(),
|
||||
];
|
||||
}
|
||||
}
|
||||
27
database/factories/LocationFactory.php
Normal file
27
database/factories/LocationFactory.php
Normal file
@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Enums\IsActive;
|
||||
use App\Models\Location;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends Factory<Location>
|
||||
*/
|
||||
class LocationFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'name' => fake()->unique()->city(),
|
||||
'description' => fake()->sentence(),
|
||||
'is_active' => IsActive::ACTIVE,
|
||||
];
|
||||
}
|
||||
}
|
||||
32
database/factories/MediaMonitoringFactory.php
Normal file
32
database/factories/MediaMonitoringFactory.php
Normal file
@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Enums\Channel;
|
||||
use App\Models\MediaMonitoring;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends Factory<MediaMonitoring>
|
||||
*/
|
||||
class MediaMonitoringFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'code' => fake()->lexify('??????'),
|
||||
'media_name' => fake()->company(),
|
||||
'title' => fake()->sentence(),
|
||||
'channel' => Channel::WEBSITE,
|
||||
'writter' => fake()->name(),
|
||||
'content' => fake()->paragraph(),
|
||||
'keyword' => fake()->word(),
|
||||
'release_date' => fake()->date(),
|
||||
];
|
||||
}
|
||||
}
|
||||
27
database/factories/MediaMonitoringThemeFactory.php
Normal file
27
database/factories/MediaMonitoringThemeFactory.php
Normal file
@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Models\MediaMonitoring;
|
||||
use App\Models\MediaMonitoringTheme;
|
||||
use App\Models\Theme;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends Factory<MediaMonitoringTheme>
|
||||
*/
|
||||
class MediaMonitoringThemeFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'media_monitoring_id' => MediaMonitoring::factory(),
|
||||
'theme_id' => Theme::factory(),
|
||||
];
|
||||
}
|
||||
}
|
||||
29
database/factories/MediaTaskAssignmentFactory.php
Normal file
29
database/factories/MediaTaskAssignmentFactory.php
Normal file
@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Enums\ApprovalStatus;
|
||||
use App\Models\MediaTaskAssignment;
|
||||
use App\Models\PartnerMedia;
|
||||
use App\Models\TaskAssignment;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends Factory<MediaTaskAssignment>
|
||||
*/
|
||||
class MediaTaskAssignmentFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'task_assignment_id' => TaskAssignment::factory(),
|
||||
'partner_media_id' => PartnerMedia::factory(),
|
||||
'status' => ApprovalStatus::PENDING,
|
||||
];
|
||||
}
|
||||
}
|
||||
35
database/factories/NewsFactory.php
Normal file
35
database/factories/NewsFactory.php
Normal file
@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Enums\NewsStatus;
|
||||
use App\Models\News;
|
||||
use App\Models\User;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
/**
|
||||
* @extends Factory<News>
|
||||
*/
|
||||
class NewsFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
$title = fake()->sentence();
|
||||
|
||||
return [
|
||||
'author_id' => User::factory(),
|
||||
'title' => $title,
|
||||
'slug' => Str::slug($title),
|
||||
'content' => fake()->paragraphs(5, true),
|
||||
'excerpt' => fake()->sentence(),
|
||||
'status' => NewsStatus::DRAFT,
|
||||
'views' => 0,
|
||||
];
|
||||
}
|
||||
}
|
||||
32
database/factories/PartnerMediaFactory.php
Normal file
32
database/factories/PartnerMediaFactory.php
Normal file
@ -0,0 +1,32 @@
|
||||
<?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 Factory<PartnerMedia>
|
||||
*/
|
||||
class PartnerMediaFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'company_id' => Company::factory(),
|
||||
'name' => fake()->company(),
|
||||
'address' => fake()->address(),
|
||||
'link' => fake()->url(),
|
||||
'type' => MediaType::ONLINE,
|
||||
'classification' => MediaClassification::LOCAL,
|
||||
];
|
||||
}
|
||||
}
|
||||
27
database/factories/RejectionReasonFactory.php
Normal file
27
database/factories/RejectionReasonFactory.php
Normal file
@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Models\Cooperation;
|
||||
use App\Models\RejectionReason;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends Factory<RejectionReason>
|
||||
*/
|
||||
class RejectionReasonFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'rejectable_type' => Cooperation::class,
|
||||
'rejectable_id' => Cooperation::factory(),
|
||||
'reason' => fake()->sentence(),
|
||||
];
|
||||
}
|
||||
}
|
||||
31
database/factories/ReportFactory.php
Normal file
31
database/factories/ReportFactory.php
Normal file
@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Enums\ApprovalStatus;
|
||||
use App\Models\MediaTaskAssignment;
|
||||
use App\Models\Report;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends Factory<Report>
|
||||
*/
|
||||
class ReportFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'media_task_assignment_id' => MediaTaskAssignment::factory(),
|
||||
'title' => fake()->sentence(),
|
||||
'publication_date' => fake()->date(),
|
||||
'link' => fake()->url(),
|
||||
'description' => fake()->paragraph(),
|
||||
'status' => ApprovalStatus::PENDING,
|
||||
];
|
||||
}
|
||||
}
|
||||
29
database/factories/SubClassificationFactory.php
Normal file
29
database/factories/SubClassificationFactory.php
Normal file
@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Enums\IsActive;
|
||||
use App\Models\Classification;
|
||||
use App\Models\SubClassification;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends Factory<SubClassification>
|
||||
*/
|
||||
class SubClassificationFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'classification_id' => Classification::factory(),
|
||||
'name' => fake()->unique()->word(),
|
||||
'description' => fake()->sentence(),
|
||||
'is_active' => IsActive::ACTIVE,
|
||||
];
|
||||
}
|
||||
}
|
||||
29
database/factories/SubLocationFactory.php
Normal file
29
database/factories/SubLocationFactory.php
Normal file
@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Enums\IsActive;
|
||||
use App\Models\Location;
|
||||
use App\Models\SubLocation;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends Factory<SubLocation>
|
||||
*/
|
||||
class SubLocationFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'location_id' => Location::factory(),
|
||||
'name' => fake()->unique()->word(),
|
||||
'description' => fake()->sentence(),
|
||||
'is_active' => IsActive::ACTIVE,
|
||||
];
|
||||
}
|
||||
}
|
||||
29
database/factories/TaskAssignmentFactory.php
Normal file
29
database/factories/TaskAssignmentFactory.php
Normal file
@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Models\Cooperation;
|
||||
use App\Models\TaskAssignment;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends Factory<TaskAssignment>
|
||||
*/
|
||||
class TaskAssignmentFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'cooperation_id' => Cooperation::factory(),
|
||||
'start_date' => fake()->date(),
|
||||
'end_date' => fake()->date(),
|
||||
'task_description' => fake()->paragraph(),
|
||||
'report_amount' => fake()->numberBetween(1, 10),
|
||||
];
|
||||
}
|
||||
}
|
||||
26
database/factories/ThemeFactory.php
Normal file
26
database/factories/ThemeFactory.php
Normal file
@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Enums\IsActive;
|
||||
use App\Models\Theme;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends Factory<Theme>
|
||||
*/
|
||||
class ThemeFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'name' => fake()->unique()->word(),
|
||||
'is_active' => IsActive::ACTIVE,
|
||||
];
|
||||
}
|
||||
}
|
||||
48
database/factories/UserFactory.php
Normal file
48
database/factories/UserFactory.php
Normal file
@ -0,0 +1,48 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Enums\IsActive;
|
||||
use App\Models\User;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
/**
|
||||
* @extends Factory<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' => Str::random(10),
|
||||
'email_verified_at' => now(),
|
||||
'password' => static::$password ??= Hash::make('password'),
|
||||
'remember_token' => Str::random(10),
|
||||
'is_active' => IsActive::ACTIVE,
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Indicate that the model's email address should be unverified.
|
||||
*/
|
||||
public function unverified(): static
|
||||
{
|
||||
return $this->state(fn (array $attributes) => [
|
||||
'email_verified_at' => null,
|
||||
]);
|
||||
}
|
||||
}
|
||||
57
database/factories/VerificationRequestFactory.php
Normal file
57
database/factories/VerificationRequestFactory.php
Normal file
@ -0,0 +1,57 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Enums\VerificationStatus;
|
||||
use App\Models\Company;
|
||||
use App\Models\User;
|
||||
use App\Models\VerificationRequest;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends Factory<VerificationRequest>
|
||||
*/
|
||||
class VerificationRequestFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'company_id' => Company::factory(),
|
||||
'submitted_by' => User::factory(),
|
||||
'status' => VerificationStatus::PENDING,
|
||||
];
|
||||
}
|
||||
|
||||
public function pending(): static
|
||||
{
|
||||
return $this->state(fn (array $attributes) => [
|
||||
'status' => VerificationStatus::PENDING,
|
||||
]);
|
||||
}
|
||||
|
||||
public function approved(): static
|
||||
{
|
||||
return $this->state(fn (array $attributes) => [
|
||||
'status' => VerificationStatus::APPROVED,
|
||||
]);
|
||||
}
|
||||
|
||||
public function rejected(): static
|
||||
{
|
||||
return $this->state(fn (array $attributes) => [
|
||||
'status' => VerificationStatus::REJECTED,
|
||||
]);
|
||||
}
|
||||
|
||||
public function needRevision(): static
|
||||
{
|
||||
return $this->state(fn (array $attributes) => [
|
||||
'status' => VerificationStatus::NEED_REVISION,
|
||||
]);
|
||||
}
|
||||
}
|
||||
30
database/factories/VerificationReviewFactory.php
Normal file
30
database/factories/VerificationReviewFactory.php
Normal file
@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Enums\DecisionAdmin;
|
||||
use App\Models\User;
|
||||
use App\Models\VerificationRequest;
|
||||
use App\Models\VerificationReview;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends Factory<VerificationReview>
|
||||
*/
|
||||
class VerificationReviewFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'verification_request_id' => VerificationRequest::factory(),
|
||||
'reviewer_id' => User::factory(),
|
||||
'decision' => DecisionAdmin::APPROVED,
|
||||
'note' => fake()->sentence(),
|
||||
];
|
||||
}
|
||||
}
|
||||
32
database/factories/VisitorFactory.php
Normal file
32
database/factories/VisitorFactory.php
Normal file
@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Models\User;
|
||||
use App\Models\Visitor;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends Factory<Visitor>
|
||||
*/
|
||||
class VisitorFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'user_id' => User::factory(),
|
||||
'method' => 'GET',
|
||||
'route' => 'home',
|
||||
'parameters' => [],
|
||||
'status' => 200,
|
||||
'ip' => fake()->ipv4(),
|
||||
'date' => now(),
|
||||
'counter' => 1,
|
||||
];
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user