diff --git a/src/components/Player/ActionMethods/actions.test.ts b/src/components/Player/ActionMethods/actions.test.ts index 3312dbe..a8d1576 100644 --- a/src/components/Player/ActionMethods/actions.test.ts +++ b/src/components/Player/ActionMethods/actions.test.ts @@ -1,6 +1,6 @@ import { buyCard, getTotalBuyingPower, tooExpensive, updateResources } from './buyCardActions'; import { test, expect, describe } from 'vitest'; -import { expensiveCard, mockPlayerOne, mockPlayerTwo, mockState } from '../../../util/testUtils'; +import { expensiveCard, midGameCardOne, midGameState, mockPlayerOne, mockPlayerTwo, mockState } from '../../../util/testUtils'; import { useCurrentPlayer } from '../../../util/useCurrentPlayer'; describe('buy cards', () => { @@ -44,10 +44,10 @@ describe('buy cards', () => { }) test('updateResources', () => { - const currentPlayer = useCurrentPlayer(mockState); + const currentPlayer = useCurrentPlayer(midGameState); if (!currentPlayer) return; - const { newTradingResources, updatedPlayer } = updateResources(mockState, expensiveCard); + const { newTradingResources, updatedPlayer } = updateResources(midGameState, midGameCardOne); expect(newTradingResources).toBeDefined(); expect(updatedPlayer).toBeDefined(); }) @@ -56,4 +56,7 @@ describe('buy cards', () => { const output = 1; expect(output).toBe(1); }) -}) \ No newline at end of file +}) + +describe('get chips', () => {}) +describe('reserve card', () => {}) \ No newline at end of file diff --git a/src/util/testUtils.ts b/src/util/testUtils.ts index 9fc8a52..09e81a5 100644 --- a/src/util/testUtils.ts +++ b/src/util/testUtils.ts @@ -44,6 +44,83 @@ export const mockState: AppState = { } // mock data for midgame +export const playerOneMidGame = { + ...mockPlayerOne, + cards: [ + ...mockPlayerOne.cards, + { + gemValue: "diamond", + tier: 1, + points: 0, + resourceCost: { + ruby: 0, + sapphire: 0, + emerald: 2, + diamond: 2, + onyx: 0 + } + }, + { + gemValue: "diamond", + tier: 1, + points: 0, + resourceCost: { + ruby: 0, + sapphire: 3, + emerald: 0, + diamond: 0, + onyx: 0 + } + } + ], + inventory: { + ruby: 0, + sapphire: 0, + emerald: 1, + diamond: 3, + onyx: 1, + gold: 1 + } +} + +export const playerTwoMidGame = { + ...mockPlayerTwo, + cards: [ + ...mockPlayerTwo.cards, + { + gemValue: "ruby", + tier: 1, + points: 0, + resourceCost: { + ruby: 3, + sapphire: 0, + emerald: 0, + diamond: 0, + onyx: 0 + } + }, + { + gemValue: "ruby", + tier: 1, + points: 0, + resourceCost: { + ruby: 0, + sapphire: 1, + emerald: 1, + diamond: 1, + onyx: 1 + } + } + ], + inventory: { + ruby: 4, + sapphire: 0, + emerald: 0, + diamond: 0, + onyx: 0 + } +} + export const midGameState: AppState = { ...initialState, gameboard: { @@ -58,49 +135,33 @@ export const midGameState: AppState = { } }, round: 4, - players: [ - { - ...mockPlayerOne, - cards: [ - ...mockPlayerOne.cards, - { - gemValue: "diamond", - tier: 1, - points: 0, - resourceCost: { - ruby: 0, - sapphire: 0, - emerald: 2, - diamond: 2, - onyx: 0 - } - }, - { - gemValue: "diamond", - tier: 1, - points: 0, - resourceCost: { - ruby: 0, - sapphire: 3, - emerald: 0, - diamond: 0, - onyx: 0 - } - } - ], - inventory: { - ruby: 0, - sapphire: 0, - emerald: 1, - diamond: 3, - onyx: 1, - gold: 1 - } - }, - { - ...mockPlayerTwo - } - ] + players: [playerOneMidGame, playerTwoMidGame] +} + +export const midGameCardOne: CardData = { + gemValue: 'ruby', + tier: 2, + points: 2, + resourceCost: { + ruby: 0, + sapphire: 0, + emerald: 0, + diamond: 5, + onyx: 0 + } +} + +export const midGameCardTwo: CardData = { + gemValue: 'diamond', + tier: 2, + points: 2, + resourceCost: { + ruby: 5, + sapphire: 0, + emerald: 0, + diamond: 0, + onyx: 0 + } } // miscellaneous mock data