23 lines
648 B
JavaScript
23 lines
648 B
JavaScript
import assert from 'node:assert/strict'
|
|||
|
|
import { createRequire } from 'node:module'
|
||
|
|
|
||
|
|
const removed = []
|
||
|
|
globalThis.wx = {
|
||
|
|
getStorageSync(key) {
|
||
|
|
if (key === 'isLoggedIn') return { isLoggedIn: true, userId: 'stale-user' }
|
||
|
|
return ''
|
||
|
|
},
|
||
|
|
removeStorageSync(key) {
|
||
|
|
removed.push(key)
|
||
|
|
},
|
||
|
|
}
|
||
|
|
|
||
|
|
const require = createRequire(import.meta.url)
|
||
|
|
const authStore = require('../miniapp/stores/authStore.js')
|
||
|
|
authStore.hydrate()
|
||
|
|
|
||
|
|
assert.equal(authStore.state.isLoggedIn, false, '没有 access token 时不得恢复登录态')
|
||
|
|
assert.ok(removed.includes('isLoggedIn'), '应清理失真的登录快照')
|
||
|
|
|
||
|
|
console.log('Miniapp auth contracts passed')
|