mnswpr/test/storage.test.js
2026-07-02 20:31:29 +02:00

31 lines
1,003 B
JavaScript

import { describe, it, expect, beforeEach } from 'vitest'
import { StorageService } from '../utils/storage/storage.js'
describe('StorageService', () => {
let storage
beforeEach(() => {
localStorage.clear()
sessionStorage.clear()
storage = new StorageService()
})
it('round-trips an object through localStorage', () => {
storage.saveToLocal('setting', { rows: 9, cols: 9, mines: 10 })
expect(storage.getFromLocal('setting')).toEqual({ rows: 9, cols: 9, mines: 10 })
})
it('round-trips an object through sessionStorage', () => {
storage.saveToSession('setting', { id: 'beginner' })
expect(storage.getFromSession('setting')).toEqual({ id: 'beginner' })
})
it('returns null for a missing key', () => {
expect(storage.getFromLocal('missing')).toBeNull()
})
it('treats a stored undefined as undefined, not a thrown parse error', () => {
storage.saveToLocal('setting', undefined)
expect(storage.getFromLocal('setting')).toBeUndefined()
})
})