Запрос текста предупреждения после неверного имени - PullRequest
0 голосов
/ 26 марта 2020

Я очень новичок в React Testing Library и попытался пройти простой тест. Если пользователь отправляет форму с пустым полем имени, появится предупреждающее сообщение «Поле имени не может быть пустым». Это сообщение отображается в браузере, как и ожидалось, и мой тест пройден.

  it("When the create button is pressed, if the input field is empty, prevent the user from being added", async () => {
    const createUserWithBlankName = render(<CreateUserModal/>);

    await wait(() => fireEvent.click(createUserWithBlankName.getAllByText("Create")[1]));
    expect(createUserWithBlankName.getAllByText("Name field cannot be empty")).toBeTruthy();
  });

Хотя тест пройден, мне интересно, есть ли лучший способ исправить fireEvent. На данный момент, это довольно хакерски, потому что слово «Создать» появляется два раза (сначала в абзаце, а затем как кнопка «Создать»). Есть ли лучший способ рефакторинга этого теста?

Я пытался использовать getByRole , но { name: "Create" } нельзя назначить параметру типа 'ByRoleOptions'.

    await wait(() => fireEvent.click(createUserWithBlankName.getByRole("button", { name: "Create" }));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...