Попытка проверить следующий метод с использованием фермента и шутки для React Js.Некоторые строки были покрыты на покрытии, но есть некоторые пропущенные из-за регистра и разрыва.
onSortedChange = (obj) => {
let temp = '&$expand=SECURITY,POLICY1,ACCOUNT';
let tempBaseOrderby = '';
let desc = obj[0].desc ? ' desc' : ''
//&$expand=ACCOUNT,SECURITY,POLICY1
switch(obj[0].id) {
case 'AccountName':
temp = `&$expand=SECURITY,POLICY1,ACCOUNT&$orderby=ACCOUNT/AccountName${desc}`
break;
case 'SecurityName':
temp = `&$expand=SECURITY,POLICY1,ACCOUNT&$orderby=SECURITY/SecurityName${desc}`
break; //coverage missing
default:
tempBaseOrderby = `&$orderby=${obj[0].id}${desc}`
break;
}
this.setState({expand: temp, orderby:tempBaseOrderby}, ()=> {this.searchUnsubscribed()});
}
Я смог вызвать метод и проверить его setState, но не уверен, как применить case / breakв качестве условия для правильного тестирования Использование MemoryRouter и монтирование для моего теста:
it ('Test onSortedChange method',() => {
wrapper.find('Unsubscribe').setState({
expand:{},
orderby:{},
loading: true,
});
wrapper.update();
expect(wrapper.find('Unsubscribe').instance(). onSortedChange('test')).toEqual();
expect(wrapper.find('Unsubscribe').state('loading')).toBeTruthy();
});