39 lines
1.0 KiB
JavaScript
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')
|