-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathFeedbackWidget.test.js
37 lines (32 loc) · 948 Bytes
/
FeedbackWidget.test.js
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
26
27
28
29
30
31
32
33
34
35
36
37
/**
* @jest-environment jsdom
*/
import { render, screen } from '@testing-library/react';
import { test, expect } from '@jest/globals';
import { ServoiceFeedback } from '../src';
const baseBtn = <button type="button">Test Btn</button>;
const config = {
servId: 'test12345',
userEmail: 'marty@test.com',
userFirstName: 'Marty',
userLastName: 'Test',
};
const renderWidgetButton = () =>
render(
<ServoiceFeedback config={config}>{baseBtn}</ServoiceFeedback>,
);
test('insert script tag and clone child', () => {
const { baseElement } = renderWidgetButton();
expect(baseElement).toMatchSnapshot();
});
test('append data-servoice-trigger to button child', () => {
renderWidgetButton({
children: (
<button data-servoice-trigger="true" type="button">
Test Btn
</button>
),
});
const testBtn = screen.getByRole('button');
expect(testBtn).toHaveAttribute('data-servoice-trigger', 'true');
});