Files
windmill/frontend/src/lib/test-setup.ts
centdix 36cb5bde1a feat(aichat): add test pipeline (#7321)
* setup first tests

* better

* variants

* use openrouter + cleaning

* write to files

* cleaning

* cleaning

* inline scripts

* more tests

* cleaning

* better

* test all

* few

* better errors

* cleaning
2025-12-10 14:09:53 +01:00

60 lines
1.1 KiB
TypeScript

/**
* Vitest setup file to mock browser globals for testing
*/
// Mock localStorage
const localStorageMock = {
store: {} as Record<string, string>,
getItem(key: string) {
return this.store[key] ?? null
},
setItem(key: string, value: string) {
this.store[key] = value
},
removeItem(key: string) {
delete this.store[key]
},
clear() {
this.store = {}
},
get length() {
return Object.keys(this.store).length
},
key(index: number) {
return Object.keys(this.store)[index] ?? null
}
}
// Mock sessionStorage
const sessionStorageMock = {
store: {} as Record<string, string>,
getItem(key: string) {
return this.store[key] ?? null
},
setItem(key: string, value: string) {
this.store[key] = value
},
removeItem(key: string) {
delete this.store[key]
},
clear() {
this.store = {}
},
get length() {
return Object.keys(this.store).length
},
key(index: number) {
return Object.keys(this.store)[index] ?? null
}
}
// Assign to globalThis
Object.defineProperty(globalThis, 'localStorage', {
value: localStorageMock,
writable: true
})
Object.defineProperty(globalThis, 'sessionStorage', {
value: sessionStorageMock,
writable: true
})