-
Notifications
You must be signed in to change notification settings - Fork 1
/
e2e.spec.tsx
34 lines (27 loc) · 1.05 KB
/
e2e.spec.tsx
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
import React from 'react';
import { ClientRenderer, expect, Simulate, waitFor } from '../src';
class SampleComp extends React.Component<{}, { clicked: boolean }> {
public state = {
clicked: false,
};
public render() {
return (
<div>
<div onClick={() => this.setState({ clicked: true })} data-automation-id="sample-btn">
Click
</div>
<div data-automation-id="message">{this.state.clicked ? 'Clicked!' : 'Not yet clicked...'}</div>
</div>
);
}
}
describe('Test Drive React', () => {
const renderer = new ClientRenderer();
afterEach(() => renderer.cleanup());
it('tests simple web interface', async () => {
const { ensuredSelect } = renderer.render(<SampleComp />);
await waitFor(() => expect(ensuredSelect('message')).to.have.text('Not yet clicked...'));
Simulate.click(ensuredSelect('sample-btn'));
await waitFor(() => expect(ensuredSelect('message')).to.have.text('Clicked!'));
});
});