actingAs($user) ->get(TenantResource::getUrl('view', ['record' => $tenant], tenant: $tenant)) ->assertOk() ->assertSee('/admin/provider-connections?tenant_id='.(string) $tenant->external_id, false); }); it('keeps the canonical provider connections CTA when the tenant needs a default microsoft connection', function (): void { $tenant = \App\Models\Tenant::factory()->active()->create(); [$user, $tenant] = createUserWithTenant( tenant: $tenant, role: 'owner', ensureDefaultMicrosoftProviderConnection: false, ); \App\Models\ProviderConnection::factory()->create([ 'workspace_id' => (int) $tenant->workspace_id, 'tenant_id' => (int) $tenant->getKey(), 'provider' => 'microsoft', 'display_name' => 'Fallback Connection', 'is_default' => false, ]); $this->actingAs($user) ->get(TenantResource::getUrl('view', ['record' => $tenant], tenant: $tenant)) ->assertOk() ->assertSee('/admin/provider-connections?tenant_id='.(string) $tenant->external_id, false); }); it('renders the tenant provider summary with lifecycle, consent, and verification only', function (): void { $tenant = \App\Models\Tenant::factory()->active()->create(); [$user, $tenant] = createUserWithTenant( tenant: $tenant, role: 'owner', ensureDefaultMicrosoftProviderConnection: false, ); ProviderConnection::factory()->create([ 'workspace_id' => (int) $tenant->workspace_id, 'tenant_id' => (int) $tenant->getKey(), 'provider' => 'microsoft', 'display_name' => 'Canonical Summary Connection', 'is_default' => true, 'is_enabled' => false, 'consent_status' => ProviderConsentStatus::Granted->value, 'verification_status' => ProviderVerificationStatus::Healthy->value, ]); $this->actingAs($user) ->get(TenantResource::getUrl('view', ['record' => $tenant], tenant: $tenant)) ->assertOk() ->assertSee('Provider connection') ->assertSee('Canonical Summary Connection') ->assertSee('Lifecycle') ->assertSee('Disabled') ->assertSee('Consent') ->assertSee('Granted') ->assertSee('Verification') ->assertSee('Healthy') ->assertDontSee('Connected') ->assertDontSee('Legacy health'); });