File size: 981 Bytes
19c41e0
96dfcfb
91b6e92
19c41e0
 
91b6e92
 
19c41e0
 
91b6e92
 
 
19c41e0
 
91b6e92
 
 
96dfcfb
19c41e0
96dfcfb
19c41e0
91b6e92
 
 
19c41e0
 
 
 
91b6e92
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import { CodenamesGameHandler } from '../handler';
import { Clue, Team } from '../../shared/types';

describe('CodenamesGameHandler', () => {
  let handler: CodenamesGameHandler;

  beforeAll(async () => {
    handler = await CodenamesGameHandler.create();
    await handler.joinRoom();
  }, 30000);

  afterAll(async () => {
    await handler.leaveRoom();
    await handler._cleanupResources();
  });

  it('becomes Red Spymaster', async () => {
    await handler.joinAsSpymaster(Team.Red);
    // Validate the join button is hidden (internal validation)
    const isButtonVisible = await handler._isJoinSpymasterButtonVisible(Team.Red);
    expect(isButtonVisible).toBe(false);
  }, 10000);

  it('submits a clue', async () => {
    const clue: Clue = { word: `TestClue${Math.floor(Math.random() * 10000)}`, count: 2 };
    await handler.submitClue(clue);
    await handler._waitForClueInputHidden();
    expect(await handler._isClueInputVisible()).toBe(false);
  }, 30000);
});