Keep similar-ai from tripping the global circuit on a lone URL 502, clamp Qdrant search to 100, and add Server-Timing plus slow-request logging. Studio shared props, Academy S3 exists caching, heat chunking, and Redis/scheduler hygiene stay in this rollout.
27 lines
738 B
PHP
27 lines
738 B
PHP
<?php
|
|
|
|
use App\Models\Group;
|
|
use App\Models\User;
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
it('does not load studio group memberships on non-studio Inertia pages', function () {
|
|
$user = User::factory()->create();
|
|
|
|
Group::factory()->create([
|
|
'owner_user_id' => $user->id,
|
|
'status' => Group::LIFECYCLE_ACTIVE,
|
|
]);
|
|
|
|
$groupQueries = 0;
|
|
DB::listen(function ($query) use (&$groupQueries): void {
|
|
$sql = strtolower($query->sql);
|
|
if (str_contains($sql, 'from `groups`') || str_contains($sql, 'from groups') || str_contains($sql, 'group_members')) {
|
|
$groupQueries++;
|
|
}
|
|
});
|
|
|
|
$this->actingAs($user)->get('/leaderboard')->assertOk();
|
|
|
|
expect($groupQueries)->toBe(0);
|
|
});
|