|
- import {
- describe,
- it,
- expect,
- beforeAll,
- vi,
- } from 'vitest';
- import { FastifyInstance } from 'fastify';
- import { generate } from '@theoryofnekomata/oblique-strategies-core';
- import { createServer } from '../src/server';
- import { addRoutes } from '../src/routes';
-
- vi.mock('@theoryofnekomata/oblique-strategies-core');
-
- describe('Example', () => {
- let server: FastifyInstance;
-
- beforeAll(() => {
- server = createServer();
- addRoutes(server);
- });
-
- beforeAll(() => {
- vi.mocked(generate).mockReturnValue('card text');
- });
-
- it('draws a card from default set', async () => {
- const response = await server
- .inject()
- .post('/')
- .headers({
- Accept: 'text/plain',
- });
- expect(response.statusCode).toBe(200);
- expect(generate).toBeCalled();
- expect(response.body).toBe('card text');
- });
-
- it('draws a card from custom sets', async () => {
- const response = await server
- .inject()
- .post('/')
- .query({
- cards: ['default', 'text:hello|world'],
- })
- .headers({
- Accept: 'text/plain',
- });
- expect(response.statusCode).toBe(200);
- expect(generate).toBeCalledWith(['default', 'text:hello|world']);
- expect(response.body).toBe('card text');
- });
- });
|