|
- import chalk from 'chalk';
- import * as obliqueStrategiesCore from '@theoryofnekomata/oblique-strategies-core';
- import {
- describe,
- it,
- expect,
- vi, beforeAll, afterAll, beforeEach, afterEach,
- } from 'vitest';
- import { main } from '../app';
- import * as presenters from '../presenters';
-
- vi.mock('@theoryofnekomata/oblique-strategies-core');
- vi.mock('chalk');
- vi.mock('wrap-ansi');
- vi.mock('../readers/file');
- vi.mock('../readers/http');
- vi.mock('../readers/https');
- vi.mock('../readers/text');
- vi.mock('../presenters');
-
- describe('formatting', () => {
- let defaultConsole: typeof console;
- beforeAll(() => {
- defaultConsole = console;
- global.console = {
- log: () => {
- // noop
- },
- } as unknown as typeof console;
- });
-
- afterAll(() => {
- global.console = defaultConsole;
- });
-
- beforeAll(() => {
- vi.mocked(presenters.plain).mockReturnValue(vi.fn());
- });
-
- afterAll(() => {
- vi.mocked(presenters.plain).mockReset();
- });
-
- it('formats the card when italic parts are found', async () => {
- vi.mocked(obliqueStrategiesCore.generate).mockReturnValueOnce('foo\n-italic');
-
- await main({
- presentation: 'plain',
- formatted: true,
- cards: ['default'],
- });
-
- expect(chalk.italic).toBeCalled();
- });
- });
|