Include shim in testing package
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details

This commit is contained in:
Hamcha 2019-09-12 14:37:50 +02:00
parent 6a863e79b7
commit ff6a77d431
Signed by: hamcha
GPG Key ID: 44AD3571EB09A39E
3 changed files with 18 additions and 3 deletions

View File

@ -2,3 +2,4 @@ export * from "./MockDataConnection";
export * from "./MockPeer";
export * from "./MockHelper";
export * from "./EventHook";
export * from "./IDBShim";

View File

@ -1,5 +1,5 @@
import { loadSets, getCards, Database, initDB, cardFullName } from "@/mlpccg";
import { setupIDBShim } from "@/testing/IDBShim";
import { setupIDBShim } from "@/testing";
setupIDBShim();

View File

@ -1,6 +1,6 @@
import { setupIDBShim } from "@/testing/IDBShim";
import { setupIDBShim } from "@/testing";
import { initDB, loadSets, Database } from "@/mlpccg";
import { PackBuilder, spanByRarity } from "@/mlpccg/draft";
import { PackBuilder, spanByRarity, Cube } from "@/mlpccg/draft";
setupIDBShim();
@ -22,4 +22,18 @@ describe("mlpccg/draft", () => {
expect(rarities["R"]).toHaveLength(1);
expect(rarities["U"]).toHaveLength(3);
});
test("Cube can load a newline separated card list", async () => {
expect(Database).toBeTruthy();
const cubeCards = ["ff10", "ff11", "ff12", "ff13", "ff14", "ff15"];
const cubeList = cubeCards.join("\n");
const cube = await Cube.fromList(cubeList);
const builder = new PackBuilder(cube.schema());
const pack = builder.buildPack();
// Pack size should only be 6, since there are not enough cards for a 12 cards pack
expect(pack).toHaveLength(6);
// Make sure pack has ALL the cards from the pool, no duplicates
const sortedPack = pack.map(c => c.ID).sort();
expect(sortedPack).toEqual(cubeCards);
});
});