fix: make initDatabase idempotent to prevent empty history after sync
This commit is contained in:
parent
d150dbf7b7
commit
3d1263b713
2 changed files with 26 additions and 10 deletions
|
|
@ -1,4 +1,3 @@
|
|||
import { initDatabase, insertMeasurement, getAllMeasurements, getLatestMeasurement, updateMeasurement } from '../src/database/db'
|
||||
import { Measurement } from '../src/types'
|
||||
import * as SQLite from 'expo-sqlite'
|
||||
|
||||
|
|
@ -24,14 +23,30 @@ const mockMeasurement: Measurement = {
|
|||
|
||||
describe('database', () => {
|
||||
let db: any
|
||||
let initDatabase: any
|
||||
let insertMeasurement: any
|
||||
let getAllMeasurements: any
|
||||
let getLatestMeasurement: any
|
||||
let updateMeasurement: any
|
||||
|
||||
beforeEach(() => {
|
||||
beforeEach(async () => {
|
||||
jest.resetModules()
|
||||
jest.doMock('expo-sqlite', () => ({
|
||||
openDatabaseAsync: jest.fn(),
|
||||
}))
|
||||
db = {
|
||||
execAsync: jest.fn(),
|
||||
runAsync: jest.fn(),
|
||||
getAllAsync: jest.fn(),
|
||||
}
|
||||
;(SQLite.openDatabaseAsync as jest.Mock).mockResolvedValue(db)
|
||||
const sqlite = require('expo-sqlite')
|
||||
;(sqlite.openDatabaseAsync as jest.Mock).mockResolvedValue(db)
|
||||
const mod = require('../src/database/db')
|
||||
initDatabase = mod.initDatabase
|
||||
insertMeasurement = mod.insertMeasurement
|
||||
getAllMeasurements = mod.getAllMeasurements
|
||||
getLatestMeasurement = mod.getLatestMeasurement
|
||||
updateMeasurement = mod.updateMeasurement
|
||||
})
|
||||
|
||||
it('initDatabase creates the measurements table', async () => {
|
||||
|
|
|
|||
Loading…
Reference in a new issue