feat: enforce roles requirement in user management validation and UI

This commit is contained in:
Yoga Pangestu 2026-05-02 00:25:30 +07:00
parent b059d5a260
commit 044dffefa8
4 changed files with 8 additions and 4 deletions

View File

@ -37,7 +37,7 @@ public function rules(): array
'birth_place' => ['required', 'string', 'max:100'],
'birth_date' => ['required', 'date'],
'base_salary' => ['required', 'integer', 'min:0'],
'roles' => ['nullable', 'array'],
'roles' => ['required', 'array'],
];
}
}

View File

@ -384,7 +384,9 @@ export default function UserCreate({ roles }: { roles: any[] }) {
</Field>
<Field>
<Label htmlFor="roles">Peran</Label>
<Label htmlFor="roles" required>
Peran
</Label>
<Combobox
multiple
autoHighlight

View File

@ -237,7 +237,9 @@ export default function UserEdit({ user, roles }: { user: any, roles: any[] }) {
</Field>
<Field>
<Label htmlFor="roles">Peran</Label>
<Label htmlFor="roles" required>
Peran
</Label>
<Combobox
multiple
autoHighlight

View File

@ -122,7 +122,7 @@
it('validates user creation', function () {
postJson(route('user.store'), [])
->assertStatus(422)
->assertJsonValidationErrors(['username', 'email', 'nik', 'full_name', 'phone_number', 'address', 'birth_place', 'birth_date', 'base_salary']);
->assertJsonValidationErrors(['username', 'email', 'nik', 'full_name', 'phone_number', 'address', 'birth_place', 'birth_date', 'base_salary', 'roles']);
});
it('can access user edit page', function () {