Skip to content

Commit 08860e6

Browse files
committed
test
1 parent 37f75a0 commit 08860e6

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
/* eslint-disable @typescript-eslint/no-require-imports */
2+
3+
// Mock the require calls
4+
jest.mock('react/package.json', () => ({ version: '19.0.0' }), { virtual: true });
5+
jest.mock('react-test-renderer/package.json', () => ({ version: '19.0.0' }), { virtual: true });
6+
7+
describe('ensurePeerDeps', () => {
8+
const originalEnv = process.env;
9+
10+
beforeEach(() => {
11+
jest.resetModules();
12+
process.env = { ...originalEnv };
13+
delete process.env.RNTL_SKIP_DEPS_CHECK;
14+
});
15+
16+
afterEach(() => {
17+
process.env = originalEnv;
18+
});
19+
20+
it('should not throw when versions match', () => {
21+
expect(() => require('../ensure-peer-deps')).not.toThrow();
22+
});
23+
24+
it('should throw when react-test-renderer is missing', () => {
25+
jest.mock('react-test-renderer/package.json', () => {
26+
throw new Error('Module not found');
27+
});
28+
29+
expect(() => require('../ensure-peer-deps')).toThrow(
30+
'Missing dev dependency "[email protected]"',
31+
);
32+
});
33+
34+
it('should throw when react-test-renderer version mismatches', () => {
35+
jest.mock('react-test-renderer/package.json', () => ({ version: '18.2.0' }));
36+
37+
expect(() => require('../ensure-peer-deps')).toThrow(
38+
'Incorrect version of "react-test-renderer" detected. Expected "19.0.0", but found "18.2.0"',
39+
);
40+
});
41+
42+
it('should skip dependency check when RNTL_SKIP_DEPS_CHECK is set', () => {
43+
process.env.RNTL_SKIP_DEPS_CHECK = '1';
44+
jest.mock('react-test-renderer/package.json', () => {
45+
throw new Error('Module not found');
46+
});
47+
48+
expect(() => require('../ensure-peer-deps')).not.toThrow();
49+
});
50+
});

0 commit comments

Comments
 (0)