Guest User

Untitled

a guest
Apr 25th, 2018
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.45 KB | None | 0 0
  1. class App extends Component {
  2. constructor(props) {
  3. super(props);
  4. this.state = { file: 'unknown' };
  5. }
  6.  
  7. queryServer = async() => {
  8. const that = this;
  9. return fetch('/api/foo')
  10. .then(function (response) {
  11. return response.json();
  12. })
  13. .then(function (json) {
  14. that.setState(() => { return {'file': 'api.js'}; });
  15. });
  16. };
  17.  
  18. render() {
  19. return (
  20. <div>
  21. <p>File: {this.state.file}</p>
  22. <button id='qs' onClick={this.queryServer}>Server</button>
  23. </div>);
  24. }
  25. }
  26.  
  27. describe('Jest Create React Tests', function () {
  28.  
  29. beforeEach(() => {
  30. global.fetch = jest.fn().mockImplementation(() => {
  31. const promise = new Promise((resolve, reject) => {
  32. resolve({
  33. ok: true,
  34. json: function () {
  35. return {file: 'api.js'};
  36. }
  37. });
  38. });
  39. return promise;
  40. });
  41. });
  42.  
  43. it('renders test', () => {
  44. const wrapper = shallow(<App/>);
  45. const fileParagraph = <p>File: api.js</p>;
  46. wrapper.find('#qs').simulate('click');
  47. setImmediate(() => {
  48. wrapper.update();
  49. expect(wrapper.contains(fileParagraph)).toEqual(true);
  50. });
  51. });
  52.  
  53. });
  54.  
  55. try {
  56. expect(wrapper.contains(statusParagraph)).toBe(true);
  57. } catch (e) {
  58. console.log(e);
  59. }
Add Comment
Please, Sign In to add comment