feat(ticket): implement terminal status management and validation
This commit is contained in:
@@ -12,6 +12,7 @@ use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Validation\ValidationException;
|
||||
use Tests\TestCase;
|
||||
|
||||
class LogsValueChangesTest extends TestCase
|
||||
@@ -175,6 +176,19 @@ class LogsValueChangesTest extends TestCase
|
||||
'user_id' => null,
|
||||
]);
|
||||
}
|
||||
|
||||
public function test_ticket_cannot_transition_between_terminal_statuses(): void
|
||||
{
|
||||
$ticket = Ticket::query()->create([
|
||||
'tenant_code' => 'test',
|
||||
'ticket' => '794606d5-5f69-458d-9de7-03494757d626',
|
||||
]);
|
||||
|
||||
$ticket->update(['disabled_at' => now()]);
|
||||
|
||||
$this->expectException(ValidationException::class);
|
||||
$ticket->update(['cancelled_at' => now()]);
|
||||
}
|
||||
}
|
||||
|
||||
#[Fillable(['name', 'price', 'description'])]
|
||||
|
||||
Reference in New Issue
Block a user