Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class App extends Component {
- constructor(props) {
- super(props);
- this.state = { file: 'unknown' };
- }
- queryServer = async() => {
- const that = this;
- return fetch('/api/foo')
- .then(function (response) {
- return response.json();
- })
- .then(function (json) {
- that.setState(() => { return {'file': 'api.js'}; });
- });
- };
- render() {
- return (
- <div>
- <p>File: {this.state.file}</p>
- <button id='qs' onClick={this.queryServer}>Server</button>
- </div>);
- }
- }
- describe('Jest Create React Tests', function () {
- beforeEach(() => {
- global.fetch = jest.fn().mockImplementation(() => {
- const promise = new Promise((resolve, reject) => {
- resolve({
- ok: true,
- json: function () {
- return {file: 'api.js'};
- }
- });
- });
- return promise;
- });
- });
- it('renders test', () => {
- const wrapper = shallow(<App/>);
- const fileParagraph = <p>File: api.js</p>;
- wrapper.find('#qs').simulate('click');
- setImmediate(() => {
- wrapper.update();
- expect(wrapper.contains(fileParagraph)).toEqual(true);
- });
- });
- });
- try {
- expect(wrapper.contains(statusParagraph)).toBe(true);
- } catch (e) {
- console.log(e);
- }
Add Comment
Please, Sign In to add comment