mirror of https://git.lenooby09.tech/LeNooby09/social-app.git
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at session-alignment 49 lines 1.3 kB view raw
1import {jest, expect, test, afterEach} from '@jest/globals' 2import AsyncStorage from '@react-native-async-storage/async-storage' 3 4import {defaults} from '#/state/persisted/schema' 5import {migrate} from '#/state/persisted/legacy' 6import * as store from '#/state/persisted/store' 7import * as persisted from '#/state/persisted' 8 9const write = jest.mocked(store.write) 10const read = jest.mocked(store.read) 11 12jest.mock('#/logger') 13jest.mock('#/state/persisted/legacy', () => ({ 14 migrate: jest.fn(), 15})) 16jest.mock('#/state/persisted/store', () => ({ 17 write: jest.fn(), 18 read: jest.fn(), 19})) 20 21afterEach(() => { 22 jest.useFakeTimers() 23 jest.clearAllMocks() 24 AsyncStorage.clear() 25}) 26 27test('init: fresh install, no migration', async () => { 28 await persisted.init() 29 30 expect(migrate).toHaveBeenCalledTimes(1) 31 expect(read).toHaveBeenCalledTimes(1) 32 expect(write).toHaveBeenCalledWith(defaults) 33 34 // default value 35 expect(persisted.get('colorMode')).toBe('system') 36}) 37 38test('init: fresh install, migration ran', async () => { 39 read.mockResolvedValueOnce(defaults) 40 41 await persisted.init() 42 43 expect(migrate).toHaveBeenCalledTimes(1) 44 expect(read).toHaveBeenCalledTimes(1) 45 expect(write).not.toHaveBeenCalled() 46 47 // default value 48 expect(persisted.get('colorMode')).toBe('system') 49})