Я пытаюсь настроить TypeScript с помощью Cypress. Среда, кажется, настроена хорошо, но, похоже, есть проблема с извлечением определений типов из Cypress.
Для деконструкции параметров cy.wait('@graphql').then({request})
TypeScript жалуется, что вам нужно установить тип request
парам. Похоже, что в Cypress не так много экспортов типов, но есть Cypress.WaitXHR
и Cypress.ObjectLike
, которые позволяют мне взломать мой путь к решению.
import Cypress from 'cypress';
type WaitXHR = Cypress.WaitXHR;
type ObjectLike = Cypress.ObjectLike;
describe('Admin Page', () => {
it('Visits admin page', () => {
cy.server()
.route({
method: 'POST',
url: 'https://www.example.com/graphql',
}).as('graphql');
cy.visit('/');
cy.wait('@graphql').then((xhr: WaitXHR) => {
const { request }: { request: ObjectLike} = xhr;
expect(request.body.operationName).to.equal('initalSetup');
});
});
Это решение, кажется, успокаивает TypeScript, но не очень приятно. Есть ли лучший способ сделать это?