postJson('/api/tickets', [ 'message' => 'Mijn mail werkt niet', 'api_credentials' => [ 'apiuser' => 'demo', 'apipassword' => 'secret', ], ]); $response->assertStatus(202) ->assertJsonPath('status', 'queued'); $ticket = Ticket::query()->latest('id')->first(); $this->assertNotNull($ticket); $this->assertSame('queued', $ticket->status); $this->assertSame('demo', $ticket->api_credentials['apiuser']); $raw = DB::table('tickets')->where('id', $ticket->id)->value('api_credentials'); $this->assertIsString($raw); $this->assertStringNotContainsString('secret', $raw); Queue::assertPushed(ProcessTicketJob::class); } public function test_it_validates_required_message(): void { $response = $this->postJson('/api/tickets', []); $response->assertStatus(422); } }