Files
zkxw/mobile-h5/utils/mp-follow-confirm.test.js

39 lines
1.0 KiB
JavaScript

// 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')