mirror of
https://github.com/gristlabs/grist-core.git
synced 2024-10-27 20:44:07 +00:00
16ebc32611
Context HomeDBManager lacks of direct tests, which makes hard to make rework or refactorations. Proposed solution Specifically here, I introduce tests which call exposed UsersManager methods directly and check their result. Also: I removed updateUserName which seems to me useless (updateUser does the same work) Taking a look at the getUserByLogin methods, it appears that Typescirpt infers it returns a Promise<User|null> while in no case it may resolve a nullish value, therefore I have forced to return a Promise<User> and have changed the call sites to reflect the change. Related issues I make this change for then working on #870
18 lines
864 B
TypeScript
18 lines
864 B
TypeScript
import path from "path";
|
|
import * as testUtils from "test/server/testUtils";
|
|
import {execFileSync} from "child_process";
|
|
|
|
export async function prepareDatabase(tempDirectory: string, filename: string = 'landing.db') {
|
|
// Let's create a sqlite db that we can share with servers that run in other processes, hence
|
|
// not an in-memory db. Running seed.ts directly might not take in account the most recent value
|
|
// for TYPEORM_DATABASE, because ormconfig.js may already have been loaded with a different
|
|
// configuration (in-memory for instance). Spawning a process is one way to make sure that the
|
|
// latest value prevail.
|
|
process.env.TYPEORM_DATABASE = path.join(tempDirectory, filename);
|
|
const seed = await testUtils.getBuildFile('test/gen-server/seed.js');
|
|
execFileSync('node', [seed, 'init'], {
|
|
env: process.env,
|
|
stdio: 'inherit'
|
|
});
|
|
}
|