Fix: Register participant with no nami member
This commit is contained in:
parent
26ce8637c1
commit
8713f941c1
|
@ -7,6 +7,7 @@ use App\Form\Models\Participant;
|
|||
use App\Member\Member;
|
||||
use Faker\Generator;
|
||||
use Generator as LazyGenerator;
|
||||
use Illuminate\Validation\Factory;
|
||||
|
||||
class NamiField extends Field
|
||||
{
|
||||
|
@ -39,7 +40,7 @@ class NamiField extends Field
|
|||
*/
|
||||
public function getRegistrationRules(Form $form): array
|
||||
{
|
||||
$rules = [];
|
||||
$rules = [$this->key => 'present|array'];
|
||||
|
||||
$c = collect($form->getFields())
|
||||
->filter(fn ($field) => $field['for_members'] === true)
|
||||
|
@ -67,6 +68,10 @@ class NamiField extends Field
|
|||
$rules = [];
|
||||
$inputMembers = request($this->key);
|
||||
|
||||
if (!is_array($inputMembers)) {
|
||||
return [];
|
||||
}
|
||||
|
||||
$c = collect($form->getFields())
|
||||
->filter(fn ($field) => $field['type'] !== class_basename(static::class))
|
||||
->filter(fn ($field) => $field['for_members'] === true)
|
||||
|
|
|
@ -400,6 +400,31 @@ class FormRegisterActionTest extends FormTestCase
|
|||
$this->assertEquals('', $form->participants->get(1)->data['other']);
|
||||
}
|
||||
|
||||
public function testNamiFieldCanBeEmptyArray(): void
|
||||
{
|
||||
$this->login()->loginNami();
|
||||
$form = Form::factory()
|
||||
->sections([FormtemplateSectionRequest::new()->fields([
|
||||
$this->namiField('members'),
|
||||
])])
|
||||
->create();
|
||||
|
||||
$this->register($form, ['members' => []])->assertOk();
|
||||
$this->assertDatabaseCount('participants', 1);
|
||||
}
|
||||
|
||||
public function testNamiFieldMustBeArray(): void
|
||||
{
|
||||
$this->login()->loginNami();
|
||||
$form = Form::factory()
|
||||
->sections([FormtemplateSectionRequest::new()->fields([
|
||||
$this->namiField('members'),
|
||||
])])
|
||||
->create();
|
||||
|
||||
$this->register($form, ['members' => null])->assertJsonValidationErrors(['members']);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array<string, mixed> $attributes
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue