48 lines
1.1 KiB
PHP
48 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace Tests\RequestFactories;
|
|
|
|
use App\Activity;
|
|
use App\Subactivity;
|
|
use Worksome\RequestFactories\RequestFactory;
|
|
|
|
class MembershipRequestFactory extends RequestFactory
|
|
{
|
|
public function definition(): array
|
|
{
|
|
return [];
|
|
}
|
|
|
|
public function in(Activity $activity, ?Subactivity $subactivity = null): self
|
|
{
|
|
return $this->state([
|
|
'activity_id' => $activity->id,
|
|
'subactivity_id' => $subactivity ? $subactivity->id : null,
|
|
]);
|
|
}
|
|
|
|
public function missingAll(): self
|
|
{
|
|
return $this->state([
|
|
'activity_id' => null,
|
|
'subactivity_id' => null,
|
|
]);
|
|
}
|
|
|
|
public function invalidActivity(): self
|
|
{
|
|
return $this->state([
|
|
'activity_id' => 10000,
|
|
'subactivity_id' => null,
|
|
]);
|
|
}
|
|
|
|
public function unmatchingSubactivity(): self
|
|
{
|
|
return $this->state([
|
|
'activity_id' => Activity::factory()->create()->id,
|
|
'subactivity_id' => Subactivity::factory()->create()->id,
|
|
]);
|
|
}
|
|
}
|