|
|
@@ -0,0 +1,38 @@
|
|
|
+// mobile-h5/utils/mp-follow-confirm.test.js
|
|
|
+import assert from 'node:assert/strict'
|
|
|
+import {
|
|
|
+ followStorageKey,
|
|
|
+ isFollowConfirmed,
|
|
|
+ setFollowConfirmed,
|
|
|
+ resolveStepDone
|
|
|
+} from './mp-follow-confirm.js'
|
|
|
+
|
|
|
+assert.equal(followStorageKey('u1'), 'mp_follow_confirmed:u1')
|
|
|
+assert.equal(followStorageKey(''), 'mp_follow_confirmed:anonymous')
|
|
|
+
|
|
|
+const store = new Map()
|
|
|
+const api = {
|
|
|
+ getStorageSync: (k) => store.get(k),
|
|
|
+ setStorageSync: (k, v) => {
|
|
|
+ store.set(k, v)
|
|
|
+ }
|
|
|
+}
|
|
|
+assert.equal(isFollowConfirmed('u1', api), false)
|
|
|
+setFollowConfirmed('u1', true, api)
|
|
|
+assert.equal(isFollowConfirmed('u1', api), true)
|
|
|
+assert.equal(isFollowConfirmed('u2', api), false)
|
|
|
+
|
|
|
+assert.deepEqual(resolveStepDone({ bound: true, followConfirmed: false }), {
|
|
|
+ step1Done: true,
|
|
|
+ step2Done: true
|
|
|
+})
|
|
|
+assert.deepEqual(resolveStepDone({ bound: false, followConfirmed: true }), {
|
|
|
+ step1Done: true,
|
|
|
+ step2Done: false
|
|
|
+})
|
|
|
+assert.deepEqual(resolveStepDone({ bound: false, followConfirmed: false }), {
|
|
|
+ step1Done: false,
|
|
|
+ step2Done: false
|
|
|
+})
|
|
|
+
|
|
|
+console.log('mp-follow-confirm: ok')
|