我需要测试在填写文本输入后是否有条件地启用按钮。
现在只需检查它们是否被禁用即可使用以下内容:
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();
})
我想说这将检查按钮是否被禁用,模拟填写必要的输入,然后检查按钮是否从禁用变为启用。但是测试失败了。