Skip to content

Commit 3074663

Browse files
fix: tests localforage
1 parent b595e22 commit 3074663

4 files changed

Lines changed: 62 additions & 2 deletions

File tree

.changeset/loud-meals-fail.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@kalisio/feathers-localforage": minor
3+
---
4+
5+
FIX localforage tests

packages/feathers-localforage/test/index.test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import adapterTests from '@feathersjs/adapter-tests'
33
import errors from '@feathersjs/errors'
44
import { feathers } from '@feathersjs/feathers'
55
import assert from 'assert'
6-
import service from '../src/index.js'
6+
import { init as service } from '../src/index.js'
77

88
const testSuite = adapterTests([
99
'.options',
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import { vi } from 'vitest'
2+
3+
const mockStore = new Map()
4+
5+
export const createLocalForageInstance = () => ({
6+
INDEXEDDB: 1,
7+
WEBSQL: 2,
8+
LOCALSTORAGE: 3,
9+
10+
config: vi.fn().mockResolvedValue(undefined),
11+
12+
setItem: vi.fn((key, value) => {
13+
mockStore.set(key, value)
14+
return Promise.resolve(value)
15+
}),
16+
17+
getItem: vi.fn((key) => Promise.resolve(mockStore.get(key) ?? null)),
18+
19+
removeItem: vi.fn((key) => {
20+
mockStore.delete(key)
21+
return Promise.resolve()
22+
}),
23+
24+
clear: vi.fn(() => {
25+
mockStore.clear()
26+
return Promise.resolve()
27+
}),
28+
29+
keys: vi.fn(() => Promise.resolve(Array.from(mockStore.keys())))
30+
})
31+
32+
export const clearLocalForageMock = () => {
33+
mockStore.clear()
34+
}
Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,29 @@
1-
import { beforeAll, afterAll } from 'vitest'
1+
import { vi, beforeEach, afterEach, beforeAll, afterAll } from 'vitest'
22
import { LocalStorage } from './test/utilities/local-storage.js'
3+
import { createLocalForageInstance, clearLocalForageMock } from './test/utilities/local-forage.js'
34

45
// For mocha @feathersjs/adapter-tests
56
global.before = beforeAll
67
global.after = afterAll
78

89
global.localStorage = new LocalStorage()
10+
11+
// Mock localforage
12+
vi.mock('localforage', () => ({
13+
default: {
14+
createInstance: vi.fn(() => createLocalForageInstance()),
15+
INDEXEDDB: 1,
16+
WEBSQL: 2,
17+
LOCALSTORAGE: 3
18+
}
19+
}))
20+
21+
beforeEach(() => {
22+
clearLocalForageMock()
23+
vi.clearAllMocks()
24+
})
25+
26+
afterEach(() => {
27+
clearLocalForageMock()
28+
vi.clearAllMocks()
29+
})

0 commit comments

Comments
 (0)