Тайм-аут - асинхронный обратный вызов не был вызван в течение тайм-аута -jasmine.DEFAULT_TIMEOUT_INTERVAL - PullRequest
0 голосов
/ 21 июня 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() => {
       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() и не работал.Я ценю любую помощь.

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