Написание теста Testcafe для подтверждения загрузки счетчика отображается после выполнения запроса на выборку - PullRequest
1 голос
/ 08 ноября 2019

У меня есть следующий сценарий:

  • Загрузить страницу
  • Ожидается, что счетчик скрыт
  • Введите имя пользователя Поиск по клику
  • Ожидается отображение счетчика
  • После нескольких секунд ожидания, прядильщик будет прятаться
  • Утверждать, что отображаются правильные данные пользователя

Вот рабочая демонстрация enter image description here

Я смоделировал запрос сети в моей тестовой спецификации, но я не могу понять, как утверждать счетчик, видимый после нажатия кнопки поиска

Вот моя тестовая спецификация:

    import {Selector, RequestMock} from "testcafe";
   import mockUser from "../mocks/mockUser.json";

var apiMocks = RequestMock()
  .onRequestTo(/\/api\/users/)
  .respond(mockUser, 200, {
    'access-control-allow-credentials': "*",
    'access-control-allow-origin': "*"
  })
fixture `When a user is searched`
  .page(`http://localhost:3000/`)
  .requestHooks(apiMocks);

test("Should fetch user details", async t => {
  const spinnerEl = Selector("[data-test-id='spinner']");

  await t.expect(spinnerEl.exists).notOk();

  await t
    .typeText("[data-test-id='txt-search']", "foo")
    .click("[data-test-id='btn-search']");
   // This line does not work
  // await t.expect(spinnerEl.exists).ok();
  await t.expect(Selector("[data-test-id='username']").innerText).eql("Foo Bar");
  await t.expect(Selector("[data-test-id='userid']").innerText).eql("foo");
})

Я новичок в TestCafe, может кто-нибудь помочь мне с этим.

Спасибо!

...