• File: CounterpartySeeder.php
  • Full Path: /var/www/html/back/database/seeders/CounterpartySeeder.php
  • File size: 1.21 KB
  • MIME-type: text/x-php
  • Charset: utf-8
<?php

declare(strict_types=1);

namespace Database\Seeders;

use App\Domain\Counterparty\CounterPartyService;
use App\Domain\Counterparty\Enums\CounterPartyTypeEnum;
use App\Domain\Counterparty\Requests\CreateNewRequest;
use App\Enums\ModelsEnum;
use Illuminate\Database\Seeder;

class CounterpartySeeder extends Seeder
{
    public static function getCreateRequest(int $modelID): CreateNewRequest
    {
        return new CreateNewRequest([
            'name' => 'ООО "Тестовая компания ' . $modelID . '-' . random_int(1, 10000) . '"',
            'inn' => '123456789012',
            'kpp' => '123456789',
            'c_type' => fake()->randomElement([
                CounterPartyTypeEnum::TYPE_SUPPLIER->value,
                CounterPartyTypeEnum::TYPE_STAFF->value,
            ]),
            'comment' => 'Это комментарий'
        ]);
    }

    /**
     * Run the database seeds.
     */
    public function run(): void
    {
        $service = app()->make(CounterPartyService::class);
        foreach (ModelsEnum::cases() as $case) {
            for ($i = 0; $i < 10; $i++) {
                $service->addNew($case->value, static::getCreateRequest($case->value));
            }
        }
    }
}