mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-08-08 20:30:59 +00:00
3101c9be6a
Co-authored-by: dadachann <185672915+dadachann@users.noreply.github.com>
64 lines
1.7 KiB
TypeScript
64 lines
1.7 KiB
TypeScript
import { expect, test } from '@playwright/test';
|
|
import {
|
|
installLangBotApiMocks,
|
|
makeWorkspaceEntry,
|
|
} from './fixtures/langbot-api';
|
|
|
|
function wrapped(data: unknown) {
|
|
return JSON.stringify({
|
|
code: 0,
|
|
message: 'ok',
|
|
data,
|
|
timestamp: Date.now(),
|
|
});
|
|
}
|
|
|
|
test('Cloud never exposes or requests storage analysis', async ({ page }) => {
|
|
const workspace = makeWorkspaceEntry(
|
|
'workspace-cloud',
|
|
'Cloud Workspace',
|
|
'cloud_projection',
|
|
);
|
|
await installLangBotApiMocks(page, {
|
|
authenticated: true,
|
|
workspaces: [workspace],
|
|
});
|
|
await page.route(
|
|
/\/api\/v1\/workspaces\/workspace-cloud\/(members|invitations)$/,
|
|
async (route) => {
|
|
const collection = route.request().url().endsWith('/members')
|
|
? 'members'
|
|
: 'invitations';
|
|
await route.fulfill({
|
|
status: 200,
|
|
contentType: 'application/json',
|
|
body: wrapped({ [collection]: [] }),
|
|
});
|
|
},
|
|
);
|
|
|
|
let storageAnalysisRequests = 0;
|
|
await page.route('**/api/v1/system/storage-analysis', async (route) => {
|
|
storageAnalysisRequests += 1;
|
|
await route.fulfill({
|
|
status: 200,
|
|
contentType: 'application/json',
|
|
body: wrapped({}),
|
|
});
|
|
});
|
|
|
|
await page.goto('/home/bots');
|
|
await page.getByRole('button', { name: /admin@example\.com/i }).click();
|
|
await expect(page.getByText('Storage Analysis', { exact: true })).toHaveCount(
|
|
0,
|
|
);
|
|
|
|
await page.goto('/home/bots?action=showStorageAnalysis');
|
|
await expect(page.getByRole('dialog')).toBeVisible();
|
|
await expect(page.getByRole('heading', { name: 'Workspace' })).toBeVisible();
|
|
await expect(page.getByText('Storage Analysis', { exact: true })).toHaveCount(
|
|
0,
|
|
);
|
|
expect(storageAnalysisRequests).toBe(0);
|
|
});
|