Add basic deck builder #12
3 changed files with 26 additions and 1 deletions
|
@ -1,7 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<section class="decklist">
|
<section class="decklist">
|
||||||
<article v-for="(card, i) in cards" :key="i">
|
<article v-for="(card, i) in cards" :key="i">
|
||||||
<div class="name">{{ cardFullName(card) }}</div>
|
<div class="name">{{ fullName(card) }}</div>
|
||||||
</article>
|
</article>
|
||||||
</section>
|
</section>
|
||||||
</template>
|
</template>
|
||||||
|
@ -22,5 +22,9 @@ import { Card, cardFullName } from "@/mlpccg";
|
||||||
export default class DeckList extends Vue {
|
export default class DeckList extends Vue {
|
||||||
@Prop()
|
@Prop()
|
||||||
public cards!: Card[];
|
public cards!: Card[];
|
||||||
|
|
||||||
|
private fullName(card: Card): string {
|
||||||
|
return cardFullName(card);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -6,3 +6,8 @@ export function cardFullName(card: Card): string {
|
||||||
}
|
}
|
||||||
return card.Name;
|
return card.Name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function createPonyheadURL(cards: Card[]): string {
|
||||||
|
const cardlist = cards.map(c => `${c.ID}x1`);
|
||||||
|
return "https://ponyhead.com/deckbuilder?v1code=" + cardlist.join("-");
|
||||||
|
}
|
||||||
|
|
16
src/tests/unit/cards.spec.ts
Normal file
16
src/tests/unit/cards.spec.ts
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
import { Card, createPonyheadURL, cardFullName } from "@/mlpccg";
|
||||||
|
|
||||||
|
describe("mlpccg/cards", () => {
|
||||||
|
test("Card full names are correctly generated in all cases", () => {
|
||||||
|
const card1 = { Name: "Name", Subname: "" };
|
||||||
|
const card2 = { Name: "Name1", Subname: "the Name2" };
|
||||||
|
expect(cardFullName(card1 as Card)).toEqual("Name");
|
||||||
|
expect(cardFullName(card2 as Card)).toEqual("Name1, the Name2");
|
||||||
|
});
|
||||||
|
|
||||||
|
test("Ponyhead URL is generated correctly", () => {
|
||||||
|
const cards: any[] = [{ ID: "pr10" }, { ID: "pr12" }, { ID: "pr13" }];
|
||||||
|
const url = "https://ponyhead.com/deckbuilder?v1code=pr10x1-pr12x1-pr13x1";
|
||||||
|
expect(createPonyheadURL(cards!)).toEqual(url);
|
||||||
|
});
|
||||||
|
});
|
Loading…
Reference in a new issue