leave.stories.jsx 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. import useFetchMock from '../hooks/use-fetch-mock'
  2. import LeaveModal from '../../js/features/settings/components/leave/modal'
  3. import LeaveSection from '../../js/features/settings/components/leave-section'
  4. import { setDefaultMeta, defaultSetupMocks } from './helpers/leave'
  5. export const Section = args => {
  6. useFetchMock(defaultSetupMocks)
  7. setDefaultMeta()
  8. return <LeaveSection {...args} />
  9. }
  10. Section.component = LeaveSection
  11. Section.parameters = { controls: { include: [], hideNoControlsWarning: true } }
  12. export const ModalSuccess = args => {
  13. setDefaultMeta()
  14. useFetchMock(defaultSetupMocks)
  15. return <LeaveModal {...args} />
  16. }
  17. export const ModalWithoutPassword = args => {
  18. setDefaultMeta()
  19. window.metaAttributesCache.set('ol-hasPassword', false)
  20. useFetchMock(defaultSetupMocks)
  21. return <LeaveModal {...args} />
  22. }
  23. export const ModalAuthError = args => {
  24. setDefaultMeta()
  25. useFetchMock(fetchMock => {
  26. fetchMock.post(/\/user\/delete/, 403)
  27. })
  28. return <LeaveModal {...args} />
  29. }
  30. export const ModalServerError = args => {
  31. setDefaultMeta()
  32. useFetchMock(fetchMock => {
  33. fetchMock.post(/\/user\/delete/, 500)
  34. })
  35. return <LeaveModal {...args} />
  36. }
  37. export const ModalSubscriptionError = args => {
  38. setDefaultMeta()
  39. useFetchMock(fetchMock => {
  40. fetchMock.post(/\/user\/delete/, {
  41. status: 422,
  42. body: {
  43. error: 'SubscriptionAdminDeletionError',
  44. },
  45. })
  46. })
  47. return <LeaveModal {...args} />
  48. }
  49. export default {
  50. title: 'Account Settings / Leave',
  51. component: LeaveModal,
  52. args: {
  53. isOpen: true,
  54. },
  55. argTypes: {
  56. handleClose: { action: 'handleClose' },
  57. },
  58. }