diff --git a/src/stores/login.ts b/src/stores/login.ts index 9327050..dbd1ee6 100644 --- a/src/stores/login.ts +++ b/src/stores/login.ts @@ -17,7 +17,7 @@ export default defineStore('loginStore', { userData: {}, isLoggedIn: false, rememberedReturnToUrl: "", - expired: new Date().setMonth(6), // 設定 Refresh Token 的到期日為半年後 + expired: (() => { const d = new Date(); d.setMonth(d.getMonth() + 6); return d.getTime(); })(), // 設定 Refresh Token 的到期日為半年後 }), actions: { /** diff --git a/tests/stores/login.test.js b/tests/stores/login.test.js index 03eace7..2055336 100644 --- a/tests/stores/login.test.js +++ b/tests/stores/login.test.js @@ -143,4 +143,17 @@ describe('loginStore', () => { store.setIsLoggedIn(true); expect(store.isLoggedIn).toBe(true); }); + + describe('expired', () => { + it('is approximately 6 months in the future', () => { + const now = new Date(); + const sixMonthsLater = new Date(now); + sixMonthsLater.setMonth(sixMonthsLater.getMonth() + 6); + + const expiredDate = new Date(store.expired); + // Allow 1 day tolerance + const diffMs = Math.abs(expiredDate.getTime() - sixMonthsLater.getTime()); + expect(diffMs).toBeLessThan(24 * 60 * 60 * 1000); + }); + }); });