DeleteButton.test.tsx 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import React from 'react';
  2. import DeleteButton from './DeleteButton';
  3. import { shallow } from 'enzyme';
  4. describe('DeleteButton', () => {
  5. let wrapper;
  6. let deleted;
  7. beforeAll(() => {
  8. deleted = false;
  9. function deleteItem() {
  10. deleted = true;
  11. }
  12. wrapper = shallow(<DeleteButton onConfirmDelete={() => deleteItem()} />);
  13. });
  14. it('should show confirm delete when clicked', () => {
  15. expect(wrapper.state().showConfirm).toBe(false);
  16. wrapper.find('.delete-button').simulate('click');
  17. expect(wrapper.state().showConfirm).toBe(true);
  18. });
  19. it('should hide confirm delete when clicked', () => {
  20. wrapper.find('.delete-button').simulate('click');
  21. expect(wrapper.state().showConfirm).toBe(true);
  22. wrapper
  23. .find('.confirm-delete')
  24. .find('.btn')
  25. .at(0)
  26. .simulate('click');
  27. expect(wrapper.state().showConfirm).toBe(false);
  28. });
  29. it('should show confirm delete when clicked', () => {
  30. expect(deleted).toBe(false);
  31. wrapper
  32. .find('.confirm-delete')
  33. .find('.btn')
  34. .at(1)
  35. .simulate('click');
  36. expect(deleted).toBe(true);
  37. });
  38. });