import {mountWithTheme} from 'sentry-test/enzyme'; import convertRelayPiiConfig from 'sentry/views/settings/components/dataScrubbing/convertRelayPiiConfig'; import Rules from 'sentry/views/settings/components/dataScrubbing/rules'; const relayPiiConfig = TestStubs.DataScrubbingRelayPiiConfig(); const stringRelayPiiConfig = JSON.stringify(relayPiiConfig); const convertedRules = convertRelayPiiConfig(stringRelayPiiConfig); const rules = convertedRules; const handleShowEditRule = jest.fn(); const handleDelete = jest.fn(); describe('Rules', () => { it('default render', () => { const wrapper = mountWithTheme(); expect(wrapper.find('ListItem')).toHaveLength(3); }); it('render correct description', () => { const wrapper = mountWithTheme(); const listItems = wrapper.find('ListItem'); expect(listItems.at(1).text()).toEqual( '[Mask] [Credit card numbers] from [$message]' ); expect(listItems.at(0).text()).toEqual( '[Replace] [Password fields] with [Scrubbed] from [password]' ); }); it('render disabled list', () => { const wrapper = mountWithTheme(); expect(wrapper.find('List').prop('isDisabled')).toEqual(true); }); it('render edit and delete buttons', () => { const wrapper = mountWithTheme( ); expect(wrapper.find('[aria-label="Edit Rule"]').hostNodes()).toHaveLength(3); expect(wrapper.find('[aria-label="Delete Rule"]').hostNodes()).toHaveLength(3); }); it('render disabled edit and delete buttons', () => { const wrapper = mountWithTheme( ); expect( wrapper.find('[aria-label="Edit Rule"]').hostNodes().at(0).prop('aria-disabled') ).toEqual(true); expect( wrapper.find('[aria-label="Delete Rule"]').hostNodes().at(0).prop('aria-disabled') ).toEqual(true); }); it('render edit button only', () => { const wrapper = mountWithTheme( ); expect(wrapper.find('[aria-label="Edit Rule"]').hostNodes()).toHaveLength(3); expect(wrapper.find('[aria-label="Delete Rule"]')).toHaveLength(0); }); it('render delete button only', () => { const wrapper = mountWithTheme(); expect(wrapper.find('[aria-label="Edit Rule"]')).toHaveLength(0); expect(wrapper.find('[aria-label="Delete Rule"]').hostNodes()).toHaveLength(3); }); });