Skip to content

Commit 0ff2e83

Browse files
committed
Move db mocking into factory file
So we can re-use it.
1 parent de4afae commit 0ff2e83

File tree

2 files changed

+113
-77
lines changed

2 files changed

+113
-77
lines changed
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
import { join } from "path";
2+
import { Uri } from "vscode";
3+
import {
4+
DatabaseContents,
5+
DatabaseItemImpl,
6+
FullDatabaseOptions,
7+
} from "../../../src/local-databases";
8+
import { DirResult } from "tmp";
9+
10+
export function mockDbOptions(): FullDatabaseOptions {
11+
return {
12+
dateAdded: 123,
13+
ignoreSourceArchive: false,
14+
language: "",
15+
};
16+
}
17+
18+
export function createMockDB(
19+
dir: DirResult,
20+
dbOptions = mockDbOptions(),
21+
// source archive location must be a real(-ish) location since
22+
// tests will add this to the workspace location
23+
sourceArchiveUri?: Uri,
24+
databaseUri?: Uri,
25+
): DatabaseItemImpl {
26+
sourceArchiveUri = sourceArchiveUri || sourceLocationUri(dir);
27+
databaseUri = databaseUri || dbLocationUri(dir);
28+
29+
return new DatabaseItemImpl(
30+
databaseUri,
31+
{
32+
sourceArchiveUri,
33+
datasetUri: databaseUri,
34+
} as DatabaseContents,
35+
dbOptions,
36+
() => void 0,
37+
);
38+
}
39+
40+
export function sourceLocationUri(dir: DirResult) {
41+
return Uri.file(join(dir.name, "src.zip"));
42+
}
43+
44+
export function dbLocationUri(dir: DirResult) {
45+
return Uri.file(join(dir.name, "db"));
46+
}

0 commit comments

Comments
 (0)