import { test as base, expect } from "@playwright/test"; import Database from "better-sqlite3"; export const test = base.extend<{ isolatedData: void }>({ isolatedData: [ async ({}, use) => { const file = process.env.HY2_E2E_DATABASE; if (!file || !/^\/tmp\/hy2-panel-ui-test-\d+\.db$/.test(file)) throw new Error("Refusing to reset a non-test database"); const db = new Database(file, { fileMustExist: true }); db.pragma("foreign_keys = ON"); db.transaction(() => { db.exec( "DELETE FROM node_installations; DELETE FROM managed_certificates; DELETE FROM hy2_nodes; DELETE FROM hy2_users WHERE is_admin = 0;", ); db.prepare( "UPDATE app_settings SET value = '[]' WHERE key IN ('main_proxy_group_member_slugs_json','proxy_groups_json')", ).run(); })(); db.close(); await use(); }, { auto: true }, ], }); export { expect };