mp-follow-confirm.test.js 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. // mobile-h5/utils/mp-follow-confirm.test.js
  2. import assert from 'node:assert/strict'
  3. import {
  4. followStorageKey,
  5. isFollowConfirmed,
  6. setFollowConfirmed,
  7. resolveStepDone
  8. } from './mp-follow-confirm.js'
  9. assert.equal(followStorageKey('u1'), 'mp_follow_confirmed:u1')
  10. assert.equal(followStorageKey(''), 'mp_follow_confirmed:anonymous')
  11. const store = new Map()
  12. const api = {
  13. getStorageSync: (k) => store.get(k),
  14. setStorageSync: (k, v) => {
  15. store.set(k, v)
  16. }
  17. }
  18. assert.equal(isFollowConfirmed('u1', api), false)
  19. setFollowConfirmed('u1', true, api)
  20. assert.equal(isFollowConfirmed('u1', api), true)
  21. assert.equal(isFollowConfirmed('u2', api), false)
  22. assert.deepEqual(resolveStepDone({ bound: true, followConfirmed: false }), {
  23. step1Done: true,
  24. step2Done: true
  25. })
  26. assert.deepEqual(resolveStepDone({ bound: false, followConfirmed: true }), {
  27. step1Done: true,
  28. step2Done: false
  29. })
  30. assert.deepEqual(resolveStepDone({ bound: false, followConfirmed: false }), {
  31. step1Done: false,
  32. step2Done: false
  33. })
  34. console.log('mp-follow-confirm: ok')