useDirtyForm.spec.ts 1004 B

123456789101112131415161718192021222324252627282930313233
  1. import { createStore } from '~/tests/unit/Helpers'
  2. import { form } from '~/tests/unit/fixture/state/profile'
  3. import { $useDirtyForm, UseDirtyForm } from '~/use/form/useDirtyForm'
  4. import { AnyStore } from '~/types/interfaces'
  5. let store: AnyStore
  6. beforeAll(() => {
  7. store = createStore()
  8. store.registerModule('form', form)
  9. })
  10. describe('markFormAsDirty()', () => {
  11. it('should call addEventListener one time', async () => {
  12. const spy = jest.spyOn(UseDirtyForm.prototype as any, 'addEventListener')
  13. spy.mockImplementation(() => {})
  14. const { markFormAsDirty } = $useDirtyForm(store)
  15. markFormAsDirty()
  16. expect(spy).toHaveBeenCalled()
  17. })
  18. })
  19. describe('markAsNotDirty()', () => {
  20. it('should call clearEventListener one time', async () => {
  21. const spy = jest.spyOn(UseDirtyForm.prototype as any, 'clearEventListener')
  22. spy.mockImplementation(() => {})
  23. const { markFormAsNotDirty } = $useDirtyForm(store)
  24. markFormAsNotDirty()
  25. expect(spy).toHaveBeenCalled()
  26. })
  27. })