Files
alibaba/tests/config.test.js
T
2026-08-27 16:12:37 +08:00

35 lines
1.1 KiB
JavaScript

import { describe, it, expect, beforeEach, vi } from 'vitest';
import { loadConfig, saveConfig } from '../push/config.js';
describe('config', () => {
beforeEach(() => {
// 内存版 chrome.storage.local,验证 load/save 往返(不依赖真实 chrome)
const store = {};
globalThis.chrome = {
storage: {
local: {
get: vi.fn(async key => {
const k = typeof key === 'string' ? key : key[0];
return k in store ? { [k]: store[k] } : {};
}),
set: vi.fn(async obj => { Object.assign(store, obj); }),
},
},
};
});
it('loadConfig returns disabled default when unset', async () => {
const cfg = await loadConfig();
expect(cfg.enabled).toBe(false);
expect(cfg.serverUrl).toBe('');
});
it('saveConfig then loadConfig round-trips', async () => {
await saveConfig({ enabled: true, serverUrl: 'http://x', token: 't' });
const cfg = await loadConfig();
expect(cfg.enabled).toBe(true);
expect(cfg.serverUrl).toBe('http://x');
expect(cfg.token).toBe('t');
});
});