mc-publish/tests/unit/loaders/fabric/fabric-metadata-reader.spec.ts

34 lines
1.1 KiB
TypeScript
Raw Normal View History

2023-03-05 09:37:24 +00:00
import { zipFile } from "@/../tests/utils/zip-utils";
2024-10-08 19:11:03 +09:00
import { vol } from "memfs";
2023-03-05 09:37:24 +00:00
import { FabricMetadata } from "@/loaders/fabric/fabric-metadata";
import { FabricMetadataReader } from "@/loaders/fabric/fabric-metadata-reader";
2024-10-08 19:11:03 +09:00
beforeEach(() => {
vol.fromJSON({
"fabric.mod.jar": zipFile([__dirname, "../../../content/fabric/fabric.mod.json"]),
2023-03-05 09:37:24 +00:00
"text.txt": "",
});
});
describe("FabricMetadataReader", () => {
test("successfully reads fabric.mod.json", async () => {
const reader = new FabricMetadataReader();
const metadata = await reader.readMetadataFile("fabric.mod.jar");
expect(metadata).toBeInstanceOf(FabricMetadata);
});
test("throws if file is not a Fabric mod", async () => {
2023-03-05 09:37:24 +00:00
const reader = new FabricMetadataReader();
await expect(reader.readMetadataFile("text.txt")).rejects.toThrow();
2023-03-05 09:37:24 +00:00
});
test("throws if file does not exist", async () => {
2023-03-05 09:37:24 +00:00
const reader = new FabricMetadataReader();
await expect(reader.readMetadataFile("text.json")).rejects.toThrow();
2023-03-05 09:37:24 +00:00
});
});