diff --git a/src/utils/__tests__/utils.test.js b/src/utils/__tests__/utils.test.js index 0a6aaa96..be6bc659 100644 --- a/src/utils/__tests__/utils.test.js +++ b/src/utils/__tests__/utils.test.js @@ -1,22 +1,37 @@ import { getDealtCard, resolvePlayerNames, resolvePlayerName, grammarJoin, getPlayers, getComponentName, getValidMoves, getTypeString, escapeMarkdownText } from '../utils' import { STARTING_CARD } from '../constants'; -it('gets empty card if no card dealt', async () => { - expect(getDealtCard({ - dealt: [] - })).toBe(""); +it('getDealtCard() should get empty card if no card dealt', async () => { + const G = { + dealt: [], + dealtBy: "", + }; + + const dealtCard = getDealtCard(G); + + expect(dealtCard).toBe(""); }); -it('gets correct card if a single card is dealt', async () => { - expect(getDealtCard({ - dealt: ["A"] - })).toBe("A"); +it('getDealtCard() should get correct card if a single card is dealt', async () => { + const G = { + dealt: [null,null,"E3"], + dealtBy: "2", + }; + + const dealtCard = getDealtCard(G); + + expect(dealtCard).toBe("E3"); }); -it('gets correct card if a multiple cards are dealt', async () => { - expect(getDealtCard({ - dealt: ["A", "B", "C"] - })).toBe("C"); +it('getDealtCard() should get correct card if a multiple cards are dealt', async () => { + const G = { + dealt: ["E8","EA","E3"], + dealtBy: "1", + }; + + const dealtCard = getDealtCard(G); + + expect(dealtCard).toBe("EA"); }); it('resolves player names correctly', async () => { @@ -118,4 +133,4 @@ it('successfully escapes any malicious markdown text', () => { expect(escapeMarkdownText('![Uh oh...]("onerror="alert(\'XSS\'))')) .toBe('\\!\\[Uh oh...\\]\\("onerror="alert\\(\'XSS\'\\)\\)'); -}) \ No newline at end of file +}) diff --git a/src/utils/utils.js b/src/utils/utils.js index eb0ec4da..7a9e9ea7 100644 --- a/src/utils/utils.js +++ b/src/utils/utils.js @@ -1,11 +1,10 @@ import { GAMEMODE_CORNUCOPIA } from "./constants"; export function getDealtCard(G) { - let dealtCard = ""; - if (G.dealt.length > 0) { - dealtCard = G.dealt[G.dealt.length - 1]; + if (G.dealt.length > 0 && G.dealtBy) { + return G.dealt[G.dealtBy]; } - return dealtCard; + return ""; } export function isGameModeCornucopia(gameMode) {