*/ class MailgatewayFactory extends Factory { protected $model = Mailgateway::class; /** * Define the model's default state. * * @return array */ public function definition() { return [ 'name' => $this->faker->words(5, true), 'type' => [ 'cls' => app('mail-gateways')->random(), 'params' => [], ], 'domain' => $this->faker->safeEmailDomain(), ]; } /** * @param class-string $type * @param array $params */ public function type(string $type, array $params): self { return $this->state(['type' => [ 'cls' => $type, 'params' => $params, ]]); } public function name(string $name): self { return $this->state(['name' => $name]); } public function domain(string $domain): self { return $this->state(['domain' => $domain]); } }