edit ledger mogelijk gemaakt
This commit is contained in:
parent
800cb7a819
commit
57be9168e5
@ -34,12 +34,14 @@ const props = defineProps<{
|
||||
id: number;
|
||||
name: string;
|
||||
rules: string;
|
||||
alignment: 'positive' | 'neutral' | 'negative';
|
||||
};
|
||||
}>();
|
||||
|
||||
const form = useForm({
|
||||
name: props.ledger.name,
|
||||
rules: props.ledger.rules,
|
||||
alignment: props.ledger.alignment,
|
||||
});
|
||||
|
||||
function submit() {
|
||||
@ -69,6 +71,25 @@ function submit() {
|
||||
<textarea v-model="form.rules" id="rules" rows="4" class="c-ledger-edit__textarea"></textarea>
|
||||
</div>
|
||||
|
||||
<div class="c-ledger-edit__field">
|
||||
<label for="alignment" class="c-ledger-edit__label">Alignment</label>
|
||||
<select
|
||||
v-model="form.alignment"
|
||||
id="alignment"
|
||||
class="c-ledger-edit__select"
|
||||
>
|
||||
<option value="positive">
|
||||
Positive (Higher Score is Better)
|
||||
</option>
|
||||
<option value="neutral">
|
||||
Neutral (Frictionless / Standard)
|
||||
</option>
|
||||
<option value="negative">
|
||||
Negative (Lower Score is Better / Demerits)
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="c-ledger-edit__actions">
|
||||
<button type="submit" :disabled="form.processing" class="c-ledger-edit__submit-btn">
|
||||
Save
|
||||
@ -129,13 +150,18 @@ function submit() {
|
||||
}
|
||||
|
||||
.c-ledger-edit__textarea {
|
||||
@apply mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-300 dark:focus:border-indigo-600 dark:focus:ring-indigo-600;
|
||||
@apply mt-1 block w-full rounded-md border border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-300 dark:focus:border-indigo-600 dark:focus:ring-indigo-600;
|
||||
}
|
||||
|
||||
.c-ledger-edit__select {
|
||||
@apply mt-1 block w-full rounded-md border border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-300 dark:focus:border-indigo-600 dark:focus:ring-indigo-600;
|
||||
}
|
||||
|
||||
.c-ledger-edit__actions {
|
||||
@apply flex items-center gap-4;
|
||||
@apply mt-6 flex items-center justify-end gap-4;
|
||||
}
|
||||
|
||||
|
||||
.c-ledger-edit__submit-btn {
|
||||
@apply inline-flex items-center rounded-md border border-transparent bg-gray-800 px-4 py-2 text-xs font-semibold tracking-widest text-white uppercase transition duration-150 ease-in-out hover:bg-gray-700 focus:bg-gray-700 focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2 focus:outline-none active:bg-gray-900 dark:bg-gray-200 dark:text-gray-800 dark:hover:bg-white dark:focus:bg-white dark:focus:ring-offset-gray-800 dark:active:bg-gray-300;
|
||||
}
|
||||
|
||||
@ -55,3 +55,25 @@ test('non-owners cannot view ledger creation form or store ledgers', function ()
|
||||
'name' => 'Illegal Ledger',
|
||||
]);
|
||||
});
|
||||
|
||||
test('owner can edit a ledger', function () {
|
||||
$owner = User::factory()->create();
|
||||
$dynamic = Dynamic::factory()->create();
|
||||
$dynamic->participants()->attach($owner->id, ['role' => 'owner']);
|
||||
$ledger = Ledger::factory()->create(['dynamic_id' => $dynamic->id]);
|
||||
|
||||
$this->actingAs($owner);
|
||||
|
||||
$response = $this->put(route('dynamics.ledgers.update', [$dynamic->uuid, $ledger->uuid]), [
|
||||
'name' => 'Updated Ledger Name',
|
||||
'rules' => 'Updated rules.',
|
||||
'alignment' => 'negative',
|
||||
]);
|
||||
|
||||
$response->assertRedirect(route('dynamics.ledgers.show', [$dynamic->uuid, $ledger->uuid]));
|
||||
$ledger->refresh();
|
||||
|
||||
expect($ledger->name)->toBe('Updated Ledger Name');
|
||||
expect($ledger->rules)->toBe('Updated rules.');
|
||||
expect($ledger->alignment)->toBe('negative');
|
||||
});
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user