38 lines
1.1 KiB
TypeScript

import assert from 'node:assert';
import { afterEach, describe, it } from 'node:test';
import { buildWebStorage } from '../../src/storage/web-api.js';
import { localStorage, sessionStorage } from '../dom.js';
import { mockAxios } from '../mocks/axios.js';
import { testStorageQuota } from './quota.js';
import { testStorage } from './storages.js';
describe('Web Storages', () => {
afterEach(() => {
localStorage.clear();
sessionStorage.clear();
});
testStorage('LocalStorage', buildWebStorage(localStorage));
testStorage('SessionStorage', buildWebStorage(sessionStorage));
testStorageQuota('LocalStorage', localStorage);
testStorageQuota('SessionStorage', sessionStorage);
it('Should use a key prefix by default', async () => {
const storage = sessionStorage; // does not matter any implementation details
storage.setItem('test-key', '1');
const axios = mockAxios({
storage: buildWebStorage(storage)
});
await axios.get('url', {
id: 'test-key'
});
assert.equal(storage.getItem('test-key'), '1');
assert.notEqual(await axios.storage.get('test-key'), '1');
});
});