to do: updateResources action, actions test suite
This commit is contained in:
@@ -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', () => {})
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user