首页 > 解决方案 > 如何更改按钮的禁用属性

问题描述

我不知道如何在反应测试期间通过 react-test-library && jest 更改按钮的禁用属性
不允许用户权限时按钮集被禁用

const mockFindServer = jest.fn();
const mockAddServer = jest.fn();
const mockHandleClose = jest.fn();

const { getAllByText } = render(
  <FindServerModal
    isOpen
    isEmpty={false}
    isFailed={false}
    serverCandidates={[
      { name: 'TEST1', syncIpAddress: '1.1.1.1' },
      { name: 'TEST2', syncIpAddress: '1.1.1.2' },
    ]}
    findServer={mockFindServer}
    addServer={mockAddServer}
    onClose={mockHandleClose}
  />,
);

it('test button', () => {
  const buttons = getAllByTest('Add');  # two disabled buttons

  buttons.map(btn => {
    btn.setAttribute('disabled', 'false');
    fireEvent.click(btn);
  })

  expect(mockAddServer).toHaveBeenCalledTimes(2);  # failed
})

标签: javascriptreactjsjestjsreact-testing-library

解决方案


推荐阅读