57 lines
1.8 KiB
TypeScript
57 lines
1.8 KiB
TypeScript
import { expensiveCard, midGameCardOne, midGameCardTwo, midGameState, mockPlayerOne, mockPlayerTwo, mockState } from '../../../util/testUtils';
|
|
import { buyCard, tooExpensive } from './buyCardActions';
|
|
import getTotalBuyingPower from '../../../util/getTotalBuyingPower';
|
|
import { useCurrentPlayer } from '../../../util/useCurrentPlayer';
|
|
import { AppState, CardData, PlayerData, ResourceCost } from '../../../util/types';
|
|
import { test, expect, describe, vi, afterEach } from 'vitest';
|
|
import { renderHook } from "@testing-library/react";
|
|
import React, { useState } from 'react';
|
|
import { turnOrderUtil } from '../../../util/turnOrderUtil';
|
|
|
|
afterEach(() => {
|
|
vi.restoreAllMocks();
|
|
})
|
|
|
|
describe('buy cards', () => {
|
|
test('detects unaffordable cards', () => {
|
|
const result = tooExpensive(expensiveCard, mockState);
|
|
expect(result).toBeTruthy();
|
|
})
|
|
|
|
test('calculates total buying power', () => {
|
|
let modifiedState = {
|
|
...mockState,
|
|
players: [
|
|
{
|
|
...mockPlayerOne,
|
|
inventory: {
|
|
ruby: 3,
|
|
sapphire: 3,
|
|
emerald: 3,
|
|
onyx: 3,
|
|
diamond: 3,
|
|
gold: 3
|
|
},
|
|
cards: [expensiveCard]
|
|
},
|
|
mockPlayerTwo
|
|
]
|
|
}
|
|
|
|
const totalBuyingPower = getTotalBuyingPower(mockPlayerOne);
|
|
|
|
const expectedValue = {
|
|
ruby: 3,
|
|
sapphire: 3,
|
|
emerald: 3,
|
|
onyx: 3,
|
|
diamond: 4,
|
|
gold: 3
|
|
}
|
|
|
|
expect(totalBuyingPower).toStrictEqual(expectedValue);
|
|
})
|
|
})
|
|
|
|
// describe('get chips', () => {})
|
|
// describe('reserve card', () => {})
|