Тестирование метода с использованием wrapper.instance - PullRequest
1 голос
/ 09 апреля 2019

Попытка проверить следующий метод с использованием фермента и шутки для 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();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...