0

我需要测试在填写文本输入后是否有条件地启用按钮。

现在只需检查它们是否被禁用即可使用以下内容:

expect(screen.getByTestId('select-service-btn').closest('button')).toBeDisabled();

但我想检查它们是否在填写输入值后启用。

这是我目前拥有的。

it('Should test to see if a button gets enabled when forms are filled out', () => {
    const firstInput = screen.getByTestId('firstName-input');
    const lastInput = screen.getByTestId('lastName-input');
    const emailInput = screen.getByTestId('email-input');

    expect(screen.getByTestId('select-service-btn').closest('button')).toBeDisabled();

    fireEvent.change(firstInput, {
      target: { value: 'test content' },
    });

    fireEvent.change(lastInput, {
      target: { value: 'test content' },
    });

    fireEvent.change(emailInput, {
      target: { value: 'test content' },
    });

    expect(screen.getByTestId('select-service-btn').closest('button')).not.toBeDisabled();
})

我想说这将检查按钮是否被禁用,模拟填写必要的输入,然后检查按钮是否从禁用变为启用。但是测试失败了。

4

0 回答 0