|
1 | | -/* eslint-disable @typescript-eslint/no-var-requires */ |
2 | | -import { ReactHooksRenderer } from '../types/react' |
| 1 | +import * as actualRenderer from '..' |
| 2 | +import * as expectedRenderer from '../native' |
3 | 3 |
|
4 | 4 | describe('default renderer', () => { |
5 | | - beforeEach(() => { |
6 | | - jest.resetModules() |
7 | | - }) |
8 | | - |
9 | 5 | test('should resolve native renderer as default renderer', () => { |
10 | | - const expectedRenderer = require('../native/pure') as ReactHooksRenderer |
11 | | - const actualRenderer = require('..') as ReactHooksRenderer |
12 | | - |
13 | 6 | expect(actualRenderer).toEqual(expectedRenderer) |
14 | 7 | }) |
15 | | - |
16 | | - test('should resolve dom renderer as default renderer', () => { |
17 | | - jest.doMock('react-test-renderer', () => { |
18 | | - throw new Error('missing dependency') |
19 | | - }) |
20 | | - |
21 | | - const expectedRenderer = require('../dom/pure') as ReactHooksRenderer |
22 | | - const actualRenderer = require('..') as ReactHooksRenderer |
23 | | - |
24 | | - expect(actualRenderer).toEqual(expectedRenderer) |
25 | | - }) |
26 | | - |
27 | | - test('should throw error if a default renderer cannot be resolved', () => { |
28 | | - jest.doMock('react-test-renderer', () => { |
29 | | - throw new Error('missing dependency') |
30 | | - }) |
31 | | - |
32 | | - jest.doMock('react-dom', () => { |
33 | | - throw new Error('missing dependency') |
34 | | - }) |
35 | | - |
36 | | - const expectedMessage = |
37 | | - "Could not auto-detect a React renderer. Are you sure you've installed one of the following\n - react-dom\n - react-test-renderer\nIf you are using a bundler, please update your imports to use a specific renderer.\nFor instructions see: https://react-hooks-testing-library.com/installation#being-specific" |
38 | | - |
39 | | - expect(() => require('..')).toThrowError(new Error(expectedMessage)) |
40 | | - }) |
41 | 8 | }) |
0 commit comments