Как использовать Chai-as-обещанный с Typescript - PullRequest
0 голосов
/ 18 ноября 2018

Я пытаюсь использовать пакет chai-as-promised с TypeScript. Прежде всего, следующий код хорошо работает в простом JavaScript.

import * as chai from 'chai';
import * as chaiAsPromised from 'chai-as-promised';

chai.use(chaiAsPromised);
const expect = chai.expect;

import * as sinon from 'sinon';

import { MyClass } from '.';

describe('Test my class', () => {
  let myClass: MyClass;

  beforeEach(() => {
    myClass = new MyClass();
   });

  it('Should render home', () => {
    const req = new RequestMock();
    const res = new ResponseMock();

    return expect(myClass.getHomePage(req, res)).to.be.fulfilled()
      .then((returnedValue) => {
        chai.expect(returnedValue).to.not.be.equal([]);
      });
  });
});

У меня следующая ошибка с этим кодом:

enter image dedscription here

... и это указывало на это:

interface PromisedTypeComparison {
    (type: string, message?: string): PromisedAssertion; // <<-- 
    instanceof: PromisedInstanceOf;
    instanceOf: PromisedInstanceOf;
}

Я проверил множество возможностей, и это тот, где я ближе всего к решению, как мне кажется.

Я хотел бы использовать функцию chai-as-promise, такую ​​как fullfulled, rejected ... и т. Д.

Как мне это сделать?

1 Ответ

0 голосов
/ 28 ноября 2018

Я думаю, что вы пропускаете «.eventually» или «.become» в утверждении. Попробуйте переписать его как

expect(myClass.getHomePage(req, res)).to.eventually.be.fulfilled;
...