Basic draft library #19
3 changed files with 18 additions and 3 deletions
|
@ -2,3 +2,4 @@ export * from "./MockDataConnection";
|
|||
export * from "./MockPeer";
|
||||
export * from "./MockHelper";
|
||||
export * from "./EventHook";
|
||||
export * from "./IDBShim";
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { loadSets, getCards, Database, initDB, cardFullName } from "@/mlpccg";
|
||||
import { setupIDBShim } from "@/testing/IDBShim";
|
||||
import { setupIDBShim } from "@/testing";
|
||||
|
||||
setupIDBShim();
|
||||
|
||||
|
|
|
@ -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);
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Reference in a new issue