Ложный метод http.get от onClick в реакции jest-test - PullRequest
0 голосов
/ 22 апреля 2019

В шутливом тесте у меня есть следующий сценарий. Метод OnClick Мне нужно вызвать другой метод компонента, который обещает один код. Здесь

Я пытался издеваться над рабочим кликом. и делать вызовы тоже хорошо, но не в состоянии издеваться. Затем возвращаемое значение

Файл: DashboardChart.js

import getIntentsSince from '../services/getIntentsSince';

initializeCharts() {
  // I want to mock this. I am not able to get .then response value

  getIntentsSince(this.state.nowDateTime, DateUtil.getPreviousDayTS(this.state.nowDateTime))
  .then((topIntents) => {
    // I have to cover the code. Which is here
  })
}


getChart(){
  this.setState({it has some code})
  this.initializeCharts()
}

render(){
  return (
    <button onClick={this.getChart}> get chart</button>
  )
}

Файл: getIntentsSince.js

import HttpClient from 'custom-http-client';
const client = new HttpClient();

const getIntentsSince = (currentTime, fromIntervalTime) => {
    return client.get(`url`).then((data) => {
        return data;
    })

};

export default getIntentsSince;

Вот как я пытался

import React from 'react';
import { shallow, mount } from 'enzyme';
import Dashboard from '../../src/components/DashboardChart';
import getIntentsSince from '../../src/services/getIntentsSince'
import mockHttpClient from 'axp-http-client';

const client = new mockHttpClient();
import mockData from './Intents.json'

describe('Dashboard Page test cases', () => {
    let mockValue = jest.mock('../../src/services/getIntentsSince', () => new Promise(resolve => resolve({getIntentsSince: () => {return mockData}})))
   beforeAll(()=> {
    dashboardMock = mount(<DashboardChart  getIntentsSince={mockValue}/>);
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...