У меня есть метод обещания, внутри которого есть условие if. когда я высмеиваю этот метод обещания. Я могу вернуть только одно значение. Я не в состоянии охватить оба условия. Может кто-нибудь, пожалуйста, помогите мне в этом.
import * as React from 'react';
import myLogs from '../service/myLogs';
export class MyMainComponent extends React.Component {
constructor(...args) {
super(...args);
this.getLogs();
}
getLogs() {
myLogs(5).then((logList) => {
if(logList.length > 0 ) {
// need to cover this.
} else {
// need to cover this.
}
});
}
render() { return null; }
}
обслуживание / myLogs.js
import axios from 'axios';
const myLogs = (loglength) => {
return axios.get("url).then((response) =>{return response})
}
export default myLogs
сервис / насмехается / myLogs.js
const mockValue = [];
const mockValues = ["1", "2"];
const myLogs = (loglength) => {
// if i return "mockValue" then its covering else part.
// if i return "mockValues" then its covering if part.
// But i want to cover both. how can i mock to cover both.
return Promise.resolve(mockValue)
}
export default myLogs
тест / MyMainComponent.js
jest.mock(../service/myLogs.js
// some other code..