Skip to content

Commit 7c0ca44

Browse files
committed
add tests
1 parent 72322aa commit 7c0ca44

File tree

3 files changed

+70
-1
lines changed

3 files changed

+70
-1
lines changed
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
import { assert, it, describe } from "vitest";
2+
3+
import { TEST_ACCESS_TOKEN, TEST_HUB_URL, TEST_USER } from "../test/consts";
4+
import type { RepoId } from "../types/public";
5+
import { insecureRandomString } from "../utils/insecureRandomString";
6+
import { createRepo } from "./create-repo";
7+
import { deleteRepo } from "./delete-repo";
8+
import { downloadFile } from "./download-file";
9+
import { uploadFiles } from "./upload-files";
10+
import { mkdir } from "fs/promises";
11+
import { writeFile } from "fs/promises";
12+
import { pathToFileURL } from "url";
13+
14+
describe("uploadFiles", () => {
15+
it("should upload local folder", async () => {
16+
await mkdir("test-folder/sub", { recursive: true });
17+
18+
await writeFile("test-folder/sub/file1.txt", "file1");
19+
await writeFile("test-folder/sub/file2.txt", "file2");
20+
21+
await writeFile("test-folder/file3.txt", "file3");
22+
await writeFile("test-folder/file4.txt", "file4");
23+
24+
const repoName = `${TEST_USER}/TEST-${insecureRandomString()}`;
25+
const repo = { type: "model", name: repoName } satisfies RepoId;
26+
27+
try {
28+
const result = await createRepo({
29+
accessToken: TEST_ACCESS_TOKEN,
30+
repo,
31+
hubUrl: TEST_HUB_URL,
32+
});
33+
34+
assert.deepStrictEqual(result, {
35+
repoUrl: `${TEST_HUB_URL}/${repoName}`,
36+
});
37+
38+
await uploadFiles({
39+
accessToken: TEST_ACCESS_TOKEN,
40+
repo,
41+
files: [pathToFileURL("test-folder")],
42+
hubUrl: TEST_HUB_URL,
43+
});
44+
45+
let content = await downloadFile({
46+
repo,
47+
path: "test-folder/sub/file1.txt",
48+
hubUrl: TEST_HUB_URL,
49+
});
50+
51+
assert.strictEqual(await content?.text(), "file1");
52+
53+
content = await downloadFile({
54+
repo,
55+
path: "test-folder/file3.txt",
56+
hubUrl: TEST_HUB_URL,
57+
});
58+
59+
assert.strictEqual(await content?.text(), `file3`);
60+
} finally {
61+
await deleteRepo({
62+
repo,
63+
accessToken: TEST_ACCESS_TOKEN,
64+
hubUrl: TEST_HUB_URL,
65+
});
66+
}
67+
});
68+
});

packages/hub/src/lib/upload-files.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,4 +92,4 @@ describe("uploadFiles", () => {
9292
});
9393
}
9494
});
95-
}, 10_000);
95+
});

packages/hub/vitest-browser.config.mts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ export default defineConfig({
1010
"src/lib/cache-management.spec.ts",
1111
"src/lib/download-file-to-cache-dir.spec.ts",
1212
"src/lib/snapshot-download.spec.ts",
13+
"src/lib/upload-files.fs.spec.ts",
1314
// Because we use redirect: "manual" in the test
1415
"src/lib/oauth-handle-redirect.spec.ts",
1516
],

0 commit comments

Comments
 (0)