Files
unstorage/test/drivers/github.test.ts
wzc520pyfm 6163be0eb5 feat: typed storage interface (#509)
Co-authored-by: Pooya Parsa <pooya@pi0.io>
Co-authored-by: Daniel Roe <daniel@roe.dev>
2024-12-15 21:34:32 +01:00

39 lines
1.1 KiB
TypeScript

import { describe, it, expect } from "vitest";
import driver from "../../src/drivers/github";
import { createStorage } from "../../src";
describe("drivers: github", () => {
const storage = createStorage({
driver: driver({ repo: "unjs/unstorage", branch: "main", dir: "/" }),
});
it("can read a repository files", async () => {
const keys = await storage.getKeys();
expect(keys.length).toBeGreaterThan(10);
});
it("can check for a file presence", async () => {
const hasPkg = await storage.hasItem("package.json");
expect(hasPkg).toBe(true);
});
it("can read a json file content", async () => {
const pkg = (await storage.getItem("package.json"))! as Record<
string,
unknown
>;
expect(pkg.name).toBe("unstorage");
});
it("can read an item metadata", async () => {
const pkgMeta = (await storage.getMeta("package.json")) as {
sha: string;
mode: string;
size: number;
};
expect(pkgMeta.sha.length > 0).toBe(true);
expect(Number(pkgMeta.mode)).toBeGreaterThan(1000);
expect(pkgMeta.size).toBeGreaterThan(1000);
});
});