Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 30613d3

Browse files
committed
test(iframe-plugin): implement tests for provideEmbeddedHeaders
1 parent 4c51d0a commit 30613d3

File tree

1 file changed

+21
-18
lines changed

1 file changed

+21
-18
lines changed
Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,25 @@
11
import React from 'react';
22
import HTML, { RenderHTMLProps } from 'react-native-render-html';
33
import renderer from 'react-test-renderer';
4-
import WebView from 'react-native-webview';
5-
import IframeRenderer from '../IframeRenderer';
4+
import WebView from '@formidable-webview/ersatz';
5+
import IframeRenderer, { iframeModel } from '../IframeRenderer';
66

77
describe('iframe renderer', () => {
8+
const defaultConfig: Partial<RenderHTMLProps> = {
9+
WebView,
10+
renderers: {
11+
iframe: IframeRenderer
12+
},
13+
customHTMLElementModels: {
14+
iframe: iframeModel
15+
},
16+
contentWidth: 10
17+
};
818
it('should render without errors', () => {
919
expect(() => {
1020
renderer.create(
1121
<HTML
12-
WebView={WebView}
13-
renderers={{
14-
iframe: IframeRenderer
15-
}}
16-
contentWidth={10}
22+
{...defaultConfig}
1723
source={{
1824
html: '<iframe width="300" height="300" src="https://google.com/" />'
1925
}}
@@ -27,6 +33,7 @@ describe('iframe renderer', () => {
2733
html: '<iframe width="300" height="300" src="https://google.com/" />'
2834
},
2935
provideEmbeddedHeaders: (uri, tagName, params) => {
36+
//@ts-ignore
3037
if (tagName === 'iframe') {
3138
params;
3239
return {
@@ -35,16 +42,12 @@ describe('iframe renderer', () => {
3542
}
3643
}
3744
};
38-
const rendered = renderer.create(
39-
<HTML
40-
WebView={WebView}
41-
renderers={{
42-
iframe: IframeRenderer
43-
}}
44-
contentWidth={10}
45-
{...props}
46-
/>
47-
);
48-
expect(rendered.toJSON()).toMatchSnapshot();
45+
const rendered = renderer.create(<HTML {...defaultConfig} {...props} />);
46+
47+
expect(rendered.root.findByType(WebView).props.source).toMatchObject({
48+
headers: {
49+
'X-Frame-Options': 'ALLOW-FROM https://google.com'
50+
}
51+
});
4952
});
5053
});

0 commit comments

Comments
 (0)