'https://control.test', 'photobooth.control_service.token' => 'secret-token', ]); PhotoboothSetting::current()->update([ 'control_service_base_url' => 'https://control.test', ]); $event = Event::factory()->create([ 'photobooth_enabled' => true, 'photobooth_username' => 'pbcleanup', 'photobooth_status' => 'active', 'photobooth_path' => '/photobooth/demo', 'photobooth_expires_at' => now()->subDay(), ]); $event->photobooth_password = 'CLEANUP'; $event->save(); Http::fake([ 'https://control.test/*' => Http::response(['ok' => true], 200), ]); $this->artisan('photobooth:cleanup-expired') ->assertExitCode(0); $event->refresh(); $this->assertFalse($event->photobooth_enabled); $this->assertNull($event->photobooth_username); $this->assertNotNull($event->photobooth_last_deprovisioned_at); Http::assertSent(fn ($request) => $request->url() === 'https://control.test/users/pbcleanup'); } }