Compare commits

...

2 commits

Author SHA1 Message Date
ff6a77d431
Include shim in testing package
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2019-09-12 14:37:50 +02:00
6a863e79b7
Make tests run sequentially 2019-09-12 14:37:34 +02:00
4 changed files with 20 additions and 5 deletions

View file

@ -116,14 +116,14 @@ steps:
- name: test - name: test
image: node image: node
commands: commands:
- yarn test:unit - yarn test:unit --runInBand
depends_on: depends_on:
- dependencies - dependencies
- name: coverage - name: coverage
image: node image: node
commands: commands:
- yarn test:unit --coverage - yarn test:unit --coverage --runInBand
depends_on: depends_on:
- test # Must run after test otherwise SQLite will get mad - test # Must run after test otherwise SQLite will get mad

View file

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

View file

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

View file

@ -1,6 +1,6 @@
import { setupIDBShim } from "@/testing/IDBShim"; import { setupIDBShim } from "@/testing";
import { initDB, loadSets, Database } from "@/mlpccg"; import { initDB, loadSets, Database } from "@/mlpccg";
import { PackBuilder, spanByRarity } from "@/mlpccg/draft"; import { PackBuilder, spanByRarity, Cube } from "@/mlpccg/draft";
setupIDBShim(); setupIDBShim();
@ -22,4 +22,18 @@ describe("mlpccg/draft", () => {
expect(rarities["R"]).toHaveLength(1); expect(rarities["R"]).toHaveLength(1);
expect(rarities["U"]).toHaveLength(3); 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);
});
}); });