Skip to content

Commit c559a9a

Browse files
committed
fix: adjust tests after version bump
1 parent d6487af commit c559a9a

File tree

20 files changed

+1039
-61
lines changed

20 files changed

+1039
-61
lines changed

eslint.config.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
/* eslint-disable @typescript-eslint/no-require-imports */
12
const tsPlugin = require('@typescript-eslint/eslint-plugin');
23
const compat = require('eslint-plugin-compat');
34
const tsdoc = require('eslint-plugin-tsdoc');

jest/__mocks__/node-fetch.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
// eslint-disable-next-line compat/compat
2+
const neverResolve = () => new Promise(() => {});
3+
module.exports = neverResolve;
4+
module.exports.default = neverResolve;

package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
"react": "19.2.0",
4141
"react-dom": "19.2.0",
4242
"react-native": "0.83.2",
43-
"react-test-renderer": "19.2.0",
4443
"react-native-webview": "13.16.0"
4544
},
4645
"author": "Jules Sam. Randolph <jules.sam.randolph@gmail.com> (https://github.com/jsamr)",

packages/heuristic-table-plugin/package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,13 @@
3939
"@microsoft/api-documenter": "^7.29.6",
4040
"@microsoft/api-extractor": "7.57.6",
4141
"@native-html/render": "1.0.0-alpha.0",
42+
"@testing-library/react": "16.3.2",
4243
"@testing-library/react-native": "^13.3.3",
4344
"@tsconfig/react-native": "^3.0.9",
4445
"@types/html-validator": "^5.0.6",
4546
"@types/jest": "^30.0.0",
4647
"@types/react": "^19.2.14",
4748
"@types/react-native": "^0.73.0",
48-
"@types/react-test-renderer": "^19.1.0",
4949
"babel-jest": "^30.2.0",
5050
"babel-plugin-inline-import": "^3.0.0",
5151
"eslint": "^10.0.2",
@@ -55,7 +55,6 @@
5555
"react": "19.2.0",
5656
"react-native": "0.83.2",
5757
"react-native-builder-bob": "^0.40.18",
58-
"react-test-renderer": "19.2.0",
5958
"typescript": "~5.8.2"
6059
},
6160
"dependencies": {
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"extends": "../../../../../tsconfig-base.json",
3+
"compilerOptions": {
4+
"types": ["jest"],
5+
"noEmit": true,
6+
"ignoreDeprecations": "6.0"
7+
},
8+
"exclude": ["../../../node_modules", "../../../lib"]
9+
}

packages/iframe-plugin/jest.config.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ module.exports = {
44
testRegex: 'src/.*\\.test\\.tsx?$',
55
coveragePathIgnorePatterns: ['/node_modules/', '__tests__'],
66
transformIgnorePatterns: [
7-
'node_modules/(?!(@react-native|react-native|react-native-webview|ramda|@native-html|stringify-entities|character-entities-html4|character-entities-legacy)/)'
7+
'node_modules/(?!(@react-native|react-native|react-native-webview|ramda|@native-html|@formidable-webview|stringify-entities|character-entities-html4|character-entities-legacy)/)'
88
],
9+
moduleNameMapper: {
10+
'^node-fetch$': '<rootDir>/jest/__mocks__/node-fetch.js'
11+
}
912
};
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
// eslint-disable-next-line compat/compat
2+
const neverResolve = () => new Promise(() => {});
3+
module.exports = neverResolve;
4+
module.exports.default = neverResolve;

packages/iframe-plugin/package.json

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,17 @@
3636
"@babel/plugin-transform-react-jsx": "^7.28.6",
3737
"@babel/preset-typescript": "^7.28.5",
3838
"@babel/runtime": "^7.28.6",
39+
"@formidable-webview/ersatz": "^2.1.2",
40+
"@formidable-webview/ersatz-testing": "^2.0.5",
3941
"@microsoft/api-documenter": "^7.29.6",
4042
"@microsoft/api-extractor": "7.57.6",
4143
"@native-html/render": "1.0.0-alpha.0",
44+
"@testing-library/react": "16.3.2",
4245
"@testing-library/react-native": "^13.3.3",
4346
"@types/jest": "^30.0.0",
4447
"@types/react": "^19.2.14",
4548
"@types/react-native": "^0.73.0",
46-
"@types/react-test-renderer": "^19.1.0",
49+
"@types/react-test-renderer": "^19",
4750
"babel-jest": "^30.2.0",
4851
"eslint": "^10.0.2",
4952
"jest": "^30.2.0",
@@ -53,14 +56,14 @@
5356
"react-native": "0.83.2",
5457
"react-native-builder-bob": "^0.40.18",
5558
"react-native-webview": "13.16.0",
56-
"react-test-renderer": "19.2.0",
5759
"typescript": "~5.8.2"
5860
},
5961
"dependencies": {
6062
"@formidable-webview/webshell": "^2.6.0",
6163
"@native-html/plugins-core": "workspace:*",
6264
"@types/prop-types": "^15.7.15",
63-
"prop-types": "^15.8.1"
65+
"prop-types": "^15.8.1",
66+
"react-test-renderer": "19.2.0"
6467
},
6568
"peerDependencies": {
6669
"@native-html/render": ">=1.0.0-alpha.0",

packages/iframe-plugin/src/__tests__/IframeRenderer.test.tsx

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,23 @@
11
import React, { act } from 'react';
22
import HTML, { RenderHTMLProps } from '@native-html/render';
33
import renderer from 'react-test-renderer';
4+
import Ersatz from '@formidable-webview/ersatz';
45
import IframeRenderer, { iframeModel } from '../IframeRenderer';
5-
import { View } from 'react-native';
66

77
describe('iframe renderer', () => {
8+
let rendered: renderer.ReactTestRenderer | null = null;
9+
10+
afterEach(async () => {
11+
if (rendered) {
12+
await act(async () => {
13+
rendered!.unmount();
14+
});
15+
rendered = null;
16+
}
17+
});
18+
819
const defaultConfig: Partial<RenderHTMLProps> = {
9-
WebView: View,
20+
WebView: Ersatz,
1021
renderers: {
1122
iframe: IframeRenderer
1223
},
@@ -17,7 +28,7 @@ describe('iframe renderer', () => {
1728
};
1829
it('should render without errors', async () => {
1930
await act(async () => {
20-
renderer.create(
31+
rendered = renderer.create(
2132
<HTML
2233
{...defaultConfig}
2334
source={{
@@ -33,17 +44,21 @@ describe('iframe renderer', () => {
3344
html: '<iframe width="300" height="300" src="https://google.com/" />'
3445
},
3546
provideEmbeddedHeaders: (uri, tagName) => {
36-
// @ts-expect-error tagName can be 'iframe' at runtime
3747
if (tagName === 'iframe') {
3848
return {
3949
'X-Frame-Options': 'ALLOW-FROM https://google.com'
4050
};
4151
}
4252
}
4353
};
44-
let rendered: renderer.ReactTestRenderer;
4554
await act(async () => {
4655
rendered = renderer.create(<HTML {...defaultConfig} {...props} />);
4756
});
57+
58+
expect(rendered!.root.findByType(Ersatz).props.source).toMatchObject({
59+
headers: {
60+
'X-Frame-Options': 'ALLOW-FROM https://google.com'
61+
}
62+
});
4863
});
4964
});
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"extends": "../../../../tsconfig-base.json",
3+
"compilerOptions": {
4+
"types": ["jest"],
5+
"noEmit": true,
6+
},
7+
"exclude": ["../../node_modules", "../../lib"]
8+
}

0 commit comments

Comments
 (0)