summaryrefslogtreecommitdiff
path: root/packages/cli/src/test-utils/render.tsx
blob: 111bc5ff294e42d02101bf9abf539a9fb20baf0f (plain)
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
/**
 * @license
 * Copyright 2025 Google LLC
 * SPDX-License-Identifier: Apache-2.0
 */

import { render } from 'ink-testing-library';
import React from 'react';
import { KeypressProvider } from '../ui/contexts/KeypressContext.js';
import { SettingsContext } from '../ui/contexts/SettingsContext.js';
import { LoadedSettings } from '../config/settings.js';

export const renderWithProviders = (
  component: React.ReactElement,
  settings?: LoadedSettings,
): ReturnType<typeof render> =>
  render(
    <KeypressProvider kittyProtocolEnabled={true}>
      <SettingsContext.Provider
        value={{ settings: settings!, recomputeSettings: () => {} }}
      >
        {component}
      </SettingsContext.Provider>
    </KeypressProvider>,
  );