to do: updateResources action, actions test suite

This commit is contained in:
2022-07-31 18:14:55 -05:00
parent 5fd2ca0344
commit 4de7c30804
2 changed files with 111 additions and 47 deletions

View File

@@ -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();
})
@@ -57,3 +57,6 @@ describe('buy cards', () => {
expect(output).toBe(1);
})
})
describe('get chips', () => {})
describe('reserve card', () => {})

View File

@@ -44,22 +44,7 @@ export const mockState: AppState = {
}
// mock data for midgame
export const midGameState: AppState = {
...initialState,
gameboard: {
...initialState.gameboard,
tradingResources: {
ruby: 1,
sapphire: 1,
emerald: 1,
onyx: 1,
diamond: 1,
gold: 3
}
},
round: 4,
players: [
{
export const playerOneMidGame = {
...mockPlayerOne,
cards: [
...mockPlayerOne.cards,
@@ -96,11 +81,87 @@ export const midGameState: AppState = {
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
}
},
{
...mockPlayerTwo
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: {
...initialState.gameboard,
tradingResources: {
ruby: 1,
sapphire: 1,
emerald: 1,
onyx: 1,
diamond: 1,
gold: 3
}
},
round: 4,
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