Compare commits

...

2 commits

Author SHA1 Message Date
1751df6a91
Add unit tests for CardPicker
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2019-09-10 13:02:29 +02:00
a9f92b1921
Minor testing refactor 2019-09-10 12:36:48 +02:00
3 changed files with 40 additions and 2 deletions

View file

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

View file

@ -0,0 +1,38 @@
import CardPicker from "@/components/DeckBuilder/CardPicker.vue";
import { shallowMount } from "@vue/test-utils";
import { CardSlot } from "@/mlpccg";
// Generate 10 test cards
const testCards = new Array(10)
.fill("test")
.map((t, i) => ({ ID: `${t}${i}` }));
const testSlots = testCards.map(c => ({ data: c, limit: 3, howmany: 1 }));
describe("components/DeckBuilder/CardPicker", () => {
test("CardPicker correctly creates images for each card", () => {
const wrapper = shallowMount(CardPicker, {
propsData: {
rows: 2,
columns: 5,
cards: testSlots
}
});
const cards = wrapper.findAll(".ccgcard");
expect(cards.contains("img")).toBe(true);
});
test("CardPicker correctly aligns items in a grid", () => {
const wrapper = shallowMount(CardPicker, {
propsData: {
rows: 3,
columns: 5,
cards: testSlots
}
});
const section = wrapper.find(".cardpicker");
const style = section.attributes("style");
expect(style).toMatch(
/grid-template-rows: \S+ \S+ \S+; grid-template-columns: \S+ \S+ \S+ \S+ \S+;/i
);
});
});

View file

@ -1,6 +1,5 @@
import { MockHelper } from "@/testing";
import { MockHelper, EventHook } from "@/testing";
import { NetworkMessage, LocalClient, ChatMessage } from "@/network";
import { EventHook } from "@/testing/EventHook";
const sampleRoom = () => ({
max_players: 3,