У меня есть следующий сценарий:
- Загрузить страницу
- Ожидается, что счетчик скрыт
- Введите имя пользователя Поиск по клику
- Ожидается отображение счетчика
- После нескольких секунд ожидания, прядильщик будет прятаться
- Утверждать, что отображаются правильные данные пользователя
Вот рабочая демонстрация
Я смоделировал запрос сети в моей тестовой спецификации, но я не могу понять, как утверждать счетчик, видимый после нажатия кнопки поиска
Вот моя тестовая спецификация:
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, может кто-нибудь помочь мне с этим.
Спасибо!