Test async- Promise Jest - PullRequest
       2

Test async- Promise Jest

0 голосов
/ 19 июня 2019

Попытка запустить тест для следующей функции: ИСПОЛЬЗОВАНИЕ 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() => {
  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 ()" и не сработало.Я ценю любую помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...