forked from mirror/crumbs-original
Admins can now reset the password of an OAuth-only user, which creates their credentials and enables password login; the new 'Disable password login' row action removes those credentials again. Resetting a password revokes all existing sessions. - add users.password_login_enabled column (migration 0005) - admin reset: set password, enable login, revoke sessions - disable action: clear password, disable login (only on OAuth-linked rows) - account endpoint: refuse password updates on OAuth-linked users - e2e: wipe the test DB before the webServer starts (Playwright starts the server before globalSetup, so wiping there orphaned the DB file) - row-actions strip test: five square actions, wrap on phone widths
23 lines
824 B
TypeScript
23 lines
824 B
TypeScript
import { writeFileSync } from 'fs';
|
|
import { randomUUID } from 'crypto';
|
|
|
|
export const TEST_CREDENTIALS_FILE = './data/test-credentials.json';
|
|
|
|
export default function globalSetup() {
|
|
// The test database is wiped before the webServer starts (see the
|
|
// webServer.command in playwright.config.ts), NOT here: Playwright brings
|
|
// the webServer up before globalSetup runs, so deleting the SQLite files
|
|
// here would orphan the server's open database onto a deleted inode and
|
|
// tests that read the database file directly would see an empty schema.
|
|
|
|
// Generate random passwords for this test run, shared across all workers
|
|
writeFileSync(
|
|
TEST_CREDENTIALS_FILE,
|
|
JSON.stringify({
|
|
testPassword: `test-${randomUUID()}`,
|
|
collabPassword: `collab-${randomUUID()}`,
|
|
userPassword: `user-${randomUUID()}`
|
|
})
|
|
);
|
|
}
|