create(); Event::create([ 'user_id' => $user->id, 'name' => 'Test Event', 'slug' => 'test-event', 'is_active' => true, 'max_file_size_mb' => 500, 'allowed_extensions' => ['mp4', 'mov'], 'require_password' => true, 'upload_password' => 'secret', ]); $response = test()->getJson('/api/events/test-event'); $response->assertOk(); $response->assertJsonPath('name', 'Test Event'); $response->assertJsonPath('slug', 'test-event'); $response->assertJsonPath('require_password', true); $response->assertJsonPath('has_password', true); $response->assertJsonMissing(['upload_password']); }); test('public event show returns 404 for inactive event', function () { $user = User::factory()->create(); Event::create([ 'user_id' => $user->id, 'name' => 'Inactive', 'slug' => 'inactive-event', 'is_active' => false, ]); $response = test()->getJson('/api/events/inactive-event'); $response->assertStatus(404); });