Попытка запустить тест для следующей функции: ИСПОЛЬЗОВАНИЕ JEST И ФЕРМЕНТ ДЛЯ РЕАКЦИИ JS
async patchAccount() {
const { user, services, FirmId } = this.props;
let StatusChanged = this.state.AccountStatus && (this.state.AccountStatus.value !== this.state.StartingStatus)
let AccountBody = {
AccountName: this.state.AccountName,
AccountTitle: this.state.AccountTitle,
}
if(StatusChanged) {
AccountBody.AccountStatusDate = new Date().toISOString().slice(0, 19).concat('Z');
}
let response = await Models.patchAccount({
user,
services,
body: AccountBody,
firmId: FirmId,
id: this.props.accountToEdit
})
if(!response.error) {
return true;
} else {
return false;
}
Вот как я настроил свой тестовый файл account.test.js
it('Test patchAccount function ',async() => {
jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000
Models.postAccounts = jest.fn().mockImplementation(() => Promise.resolve(
{error: false},
{error: true},
))
wrapper.setProps({
user:{},
services:[],
FirmId:[],
accountToEdit:[]
})
wrapper.find('AccountForm').setState({
AccountBody:{},
AccountStatus:""
});
wrapper.update();
await expect(wrapper.find('AccountForm').instance().patchAccount()).toBeDefined()
});
Как я могу проверить это правильно и убедиться, что обещание будет вызвано.Также пытался вызвать функцию макета с HaveBeenCalled()
и не работал.Я ценю любую помощь.