Утверждение количества HTTP-вызовов - PullRequest
0 голосов
/ 10 апреля 2019

Я пытаюсь настроить базовое тестирование в Cypress, блокируя некоторые базовые http-вызовы с помощью cy.server () cy.route () и cy.wait ().В моем приложении мне нужно утверждать, сколько раз маршрут был заглушен.Например, когда я отправляю форму, она отправляет запрос на localhost: 3001, если я отправляю форму снова, она отправляется снова.Я хочу заявить о количестве представлений.Что-то вроде ожидаемого (xhr) .to.have.lenght (2), или что-то подобное, но я не могу понять, как.

Пока это мой простой тест

it("Checking number of requests", () => {
    cy.server();
    cy.route({
      method: "POST",
      url: "**/signupNewUser*",
      response: {
        kind: "identitytoolkit#SignupNewUserResponse",
        idToken: "sarasa",
        email: "sarasa@gmail.com",
        refreshToken: "sarasa2",
        expiresIn: "3600",
        localId: "sarasa3",
        customTestingProperty: "custom"
      }
    }).as("postAPI");

    cy.fillForm(password);
    cy.contains("Submit").click();
    cy.contains("Submit").click();

    // Here I would like to assert that "**/signupNewUser*" has been requested 2 times. 
// I don't want to test for how many times has the button been clicked or the form been submitted.

  });

1 Ответ

0 голосов
/ 10 апреля 2019

На основе потока GitHub на источнике Cypress - https://github.com/cypress-io/cypress/issues/477#issuecomment-412617742

На самом деле существует недокументированный способ проверить, сколько раз XHR отвечал на использование .all для псевдонима.

cy.wait('@postAPI')
cy.tick(10000)
cy.get('@postAPI.all').should('have.length', 2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...