feat(scanner): implement scan attempt endpoint and update routes and tests

This commit is contained in:
2026-09-07 16:56:12 -03:00
parent 8a65d358a4
commit 34058e6a81
6 changed files with 46 additions and 31 deletions

View File

@@ -52,14 +52,14 @@ class ScannerTicketControllerTest extends TestCase
public function test_scanner_routes_require_authentication_and_scan_permission(): void
{
$this->getJson('/api/v1/scanner/tickets')->assertUnauthorized();
$this->getJson('/api/v1/scanner/attempts')->assertUnauthorized();
Sanctum::actingAs(User::factory()->create([
'rol_codigo' => RoleCode::User->value,
'tenant_codigo' => $this->tenant->codigo,
]));
$this->getJson('/api/v1/scanner/tickets')->assertForbidden();
$this->getJson('/api/v1/scanner/attempts')->assertForbidden();
}
public function test_scanner_can_list_only_its_scan_attempts(): void
@@ -82,7 +82,7 @@ class ScannerTicketControllerTest extends TestCase
Sanctum::actingAs($this->scanner);
$this->getJson('/api/v1/scanner/tickets')
$this->getJson('/api/v1/scanner/attempts')
->assertOk()
->assertJsonCount(2, 'data')
->assertJsonPath('data.0.id', $newer->id)
@@ -102,7 +102,7 @@ class ScannerTicketControllerTest extends TestCase
Sanctum::actingAs($this->scanner);
$this->getJson('/api/v1/scanner/tickets?q=aaaaaaaa&per_page=1')
$this->getJson('/api/v1/scanner/attempts?q=aaaaaaaa&per_page=1')
->assertOk()
->assertJsonCount(1, 'data')
->assertJsonPath('data.0.data', $matching->data)
@@ -118,7 +118,7 @@ class ScannerTicketControllerTest extends TestCase
Sanctum::actingAs($this->scanner);
$this->getJson("/api/v1/scanner/tickets?q={$matching->id}")
$this->getJson("/api/v1/scanner/attempts?q={$matching->id}")
->assertOk()
->assertJsonCount(1, 'data')
->assertJsonPath('data.0.id', $matching->id);
@@ -135,7 +135,7 @@ class ScannerTicketControllerTest extends TestCase
Sanctum::actingAs($this->scanner);
$this->getJson('/api/v1/scanner/tickets?q=11%2F08%2F26')
$this->getJson('/api/v1/scanner/attempts?q=11%2F08%2F26')
->assertOk()
->assertJsonCount(1, 'data')
->assertJsonPath('data.0.id', $matching->id);
@@ -350,7 +350,7 @@ class ScannerTicketControllerTest extends TestCase
$ticket = $this->createTicket((string) Str::uuid());
Sanctum::actingAs($admin);
$this->getJson('/api/v1/scanner/tickets')->assertForbidden();
$this->getJson('/api/v1/scanner/attempts')->assertForbidden();
$this->getJson("/api/v1/scanner/tickets/{$ticket->ticket}")->assertForbidden();
$this->postJson('/api/v1/scanner/tickets/scan', ['data' => $ticket->ticket])->assertForbidden();
$this->assertNull($ticket->fresh()->used_at);