diff --git a/.gitignore b/.gitignore index f788f033..bae6b4b5 100644 --- a/.gitignore +++ b/.gitignore @@ -197,3 +197,5 @@ android/ playwright-report/ test-results/ + +state.txt diff --git a/packages/better-auth/src/adapters/kysely-adapter/test/state.ts b/packages/better-auth/src/adapters/kysely-adapter/test/state.ts index 2bd9fecd..7412174b 100644 --- a/packages/better-auth/src/adapters/kysely-adapter/test/state.ts +++ b/packages/better-auth/src/adapters/kysely-adapter/test/state.ts @@ -1,14 +1,3 @@ -import * as fs from "fs"; -import path from "path"; +import { makeTestState } from "../../../test-utils/state"; -export type State = "IDLE" | "RUNNING"; - -export const stateFilePath = path.join(__dirname, "./state.txt"); - -export function getState(): State { - return fs.readFileSync(stateFilePath, "utf-8").split("\n")[0].trim() as State; -} - -export function setState(state: State) { - fs.writeFileSync(stateFilePath, state, "utf-8"); -} +export const { stateFilePath, getState, setState } = makeTestState(__dirname); diff --git a/packages/better-auth/src/adapters/kysely-adapter/test/state.txt b/packages/better-auth/src/adapters/kysely-adapter/test/state.txt deleted file mode 100644 index 0e5ea08e..00000000 --- a/packages/better-auth/src/adapters/kysely-adapter/test/state.txt +++ /dev/null @@ -1 +0,0 @@ -RUNNING \ No newline at end of file diff --git a/packages/better-auth/src/adapters/prisma-adapter/test/state.ts b/packages/better-auth/src/adapters/prisma-adapter/test/state.ts index 2bd9fecd..7412174b 100644 --- a/packages/better-auth/src/adapters/prisma-adapter/test/state.ts +++ b/packages/better-auth/src/adapters/prisma-adapter/test/state.ts @@ -1,14 +1,3 @@ -import * as fs from "fs"; -import path from "path"; +import { makeTestState } from "../../../test-utils/state"; -export type State = "IDLE" | "RUNNING"; - -export const stateFilePath = path.join(__dirname, "./state.txt"); - -export function getState(): State { - return fs.readFileSync(stateFilePath, "utf-8").split("\n")[0].trim() as State; -} - -export function setState(state: State) { - fs.writeFileSync(stateFilePath, state, "utf-8"); -} +export const { stateFilePath, getState, setState } = makeTestState(__dirname); diff --git a/packages/better-auth/src/adapters/prisma-adapter/test/state.txt b/packages/better-auth/src/adapters/prisma-adapter/test/state.txt deleted file mode 100644 index 027047b4..00000000 --- a/packages/better-auth/src/adapters/prisma-adapter/test/state.txt +++ /dev/null @@ -1 +0,0 @@ -IDLE \ No newline at end of file diff --git a/packages/better-auth/src/test-utils/state.ts b/packages/better-auth/src/test-utils/state.ts new file mode 100644 index 00000000..c94f0b57 --- /dev/null +++ b/packages/better-auth/src/test-utils/state.ts @@ -0,0 +1,25 @@ +import * as fs from "fs"; +import path from "path"; + +export type State = "IDLE" | "RUNNING"; + +export function makeTestState(dirname: string) { + const stateFilePath = path.join(dirname, "./state.txt"); + + function getState(): State { + try { + return fs + .readFileSync(stateFilePath, "utf-8") + .split("\n")[0] + .trim() as State; + } catch { + return "IDLE"; + } + } + + function setState(state: State) { + fs.writeFileSync(stateFilePath, state, "utf-8"); + } + + return { stateFilePath, getState, setState }; +}