2023-11-11 17:12:20 +01:00
|
|
|
import { jest } from '@jest/globals'
|
2020-06-10 06:44:53 +02:00
|
|
|
import { ALL_EMOJI, basicAfterEach, basicBeforeEach } from '../shared'
|
2020-06-10 08:22:51 +02:00
|
|
|
import Database from '../../../src/database/Database'
|
2020-06-10 06:44:53 +02:00
|
|
|
|
|
|
|
describe('offline first', () => {
|
|
|
|
beforeEach(() => {
|
|
|
|
basicBeforeEach()
|
|
|
|
jest.spyOn(console, 'warn').mockImplementation(() => {})
|
|
|
|
})
|
|
|
|
afterEach(basicAfterEach)
|
|
|
|
|
|
|
|
test('basic offline first test', async () => {
|
|
|
|
let db = new Database({ dataSource: ALL_EMOJI })
|
|
|
|
await db.close()
|
|
|
|
fetch.mockClear()
|
|
|
|
fetch.reset()
|
|
|
|
|
|
|
|
fetch.get(ALL_EMOJI, { body: null, status: 500 })
|
|
|
|
fetch.head(ALL_EMOJI, { body: null, status: 500 })
|
|
|
|
|
|
|
|
db = new Database({ dataSource: ALL_EMOJI })
|
|
|
|
await db.ready()
|
2020-06-14 01:39:21 +02:00
|
|
|
await expect(() => db._lazyUpdate).rejects.toThrow()
|
2020-06-15 08:38:43 +02:00
|
|
|
expect((await db.getEmojiByUnicodeOrName('🐵')).annotation).toBe('monkey face')
|
2020-06-10 06:44:53 +02:00
|
|
|
await db.close()
|
|
|
|
await db.delete()
|
|
|
|
})
|
2020-06-14 01:39:21 +02:00
|
|
|
|
|
|
|
test('basic error test', async () => {
|
|
|
|
const ERROR = 'error.json'
|
|
|
|
fetch.get(ERROR, { body: null, status: 500 })
|
|
|
|
fetch.head(ERROR, { body: null, status: 500 })
|
|
|
|
|
|
|
|
const db = new Database({ dataSource: ERROR })
|
|
|
|
await (expect(() => db.ready())).rejects.toThrow()
|
|
|
|
|
|
|
|
await new Database({ dataSource: ALL_EMOJI }).delete()
|
|
|
|
})
|
2020-06-10 06:44:53 +02:00
|
|
|
})
|