import { describe, it, expect, beforeEach } from 'vitest'import { getStoredPerPage, setStoredPerPage } from './perPageStore'const options = [15, 25, 50]describe('perPageStore', () => {beforeEach(() => {localStorage.clear()})it('round-trips a stored value', () => {setStoredPerPage('song', 25)expect(getStoredPerPage('song', options, 15)).toEqual(25)})it('keys values per resource', () => {setStoredPerPage('song', 25)setStoredPerPage('playlist', 50)expect(getStoredPerPage('song', options, 15)).toEqual(25)expect(getStoredPerPage('playlist', options, 15)).toEqual(50)})it('returns the fallback when nothing is stored', () => {expect(getStoredPerPage('song', options, 15)).toEqual(15)})it('returns the fallback for garbage values', () => {localStorage.setItem('perPage.song', 'bogus')expect(getStoredPerPage('song', options, 15)).toEqual(15)})it('returns the fallback when the stored value is not a valid option', () => {setStoredPerPage('album', 90)expect(getStoredPerPage('album', [18, 36, 72], 18)).toEqual(18)})it('defaults the fallback to the first option', () => {expect(getStoredPerPage('song', options)).toEqual(15)})})