fix tests
This commit is contained in:
parent
4f108057a2
commit
84b2a55424
2 changed files with 15 additions and 13 deletions
|
@ -89,7 +89,7 @@ const _verifyPrefs = (state) => {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export const _getRecentData = (cache, live) => {
|
export const _getRecentData = (cache, live, isTest) => {
|
||||||
const result = { recent: null, stale: null, needUpload: false }
|
const result = { recent: null, stale: null, needUpload: false }
|
||||||
const cacheValid = _checkValidity(cache || {})
|
const cacheValid = _checkValidity(cache || {})
|
||||||
const liveValid = _checkValidity(live || {})
|
const liveValid = _checkValidity(live || {})
|
||||||
|
@ -124,6 +124,8 @@ export const _getRecentData = (cache, live) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
const merge = (a, b) => ({
|
const merge = (a, b) => ({
|
||||||
|
_version: a._version ?? b._version,
|
||||||
|
_timestamp: a._timestamp ?? b._timestamp,
|
||||||
needUpload: b.needUpload ?? a.needUpload,
|
needUpload: b.needUpload ?? a.needUpload,
|
||||||
prefsStorage: {
|
prefsStorage: {
|
||||||
...a.prefsStorage,
|
...a.prefsStorage,
|
||||||
|
@ -134,8 +136,8 @@ export const _getRecentData = (cache, live) => {
|
||||||
...b.flagStorage
|
...b.flagStorage
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
result.recent = result.recent && merge(defaultState, result.recent)
|
result.recent = isTest ? result.recent : (result.recent && merge(defaultState, result.recent))
|
||||||
result.stale = result.stale && merge(defaultState, result.stale)
|
result.stale = isTest ? result.stale : (result.stale && merge(defaultState, result.stale))
|
||||||
|
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
@ -308,7 +310,7 @@ export const mutations = {
|
||||||
clearServerSideStorage (state, userData) {
|
clearServerSideStorage (state, userData) {
|
||||||
state = { ...cloneDeep(defaultState) }
|
state = { ...cloneDeep(defaultState) }
|
||||||
},
|
},
|
||||||
setServerSideStorage (state, userData) {
|
setServerSideStorage (state, userData, test) {
|
||||||
const live = userData.storage
|
const live = userData.storage
|
||||||
state.raw = live
|
state.raw = live
|
||||||
let cache = state.cache
|
let cache = state.cache
|
||||||
|
|
|
@ -74,7 +74,7 @@ describe('The serverSideStorage module', () => {
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
it('should reset local timestamp to remote if contents are the same', () => {
|
it.only('should reset local timestamp to remote if contents are the same', () => {
|
||||||
const state = {
|
const state = {
|
||||||
...cloneDeep(defaultState),
|
...cloneDeep(defaultState),
|
||||||
cache: null
|
cache: null
|
||||||
|
@ -176,33 +176,33 @@ describe('The serverSideStorage module', () => {
|
||||||
})
|
})
|
||||||
describe('_getRecentData', () => {
|
describe('_getRecentData', () => {
|
||||||
it('should handle nulls correctly', () => {
|
it('should handle nulls correctly', () => {
|
||||||
expect(_getRecentData(null, null)).to.eql({ recent: null, stale: null, needUpload: true })
|
expect(_getRecentData(null, null, true)).to.eql({ recent: null, stale: null, needUpload: true })
|
||||||
})
|
})
|
||||||
|
|
||||||
it('doesn\'t choke on invalid data', () => {
|
it('doesn\'t choke on invalid data', () => {
|
||||||
expect(_getRecentData({ a: 1 }, { b: 2 })).to.eql({ recent: null, stale: null, needUpload: true })
|
expect(_getRecentData({ a: 1 }, { b: 2 }, true)).to.eql({ recent: null, stale: null, needUpload: true })
|
||||||
})
|
})
|
||||||
|
|
||||||
it('should prefer the valid non-null correctly, needUpload works properly', () => {
|
it('should prefer the valid non-null correctly, needUpload works properly', () => {
|
||||||
const nonNull = { _version: VERSION, _timestamp: 1 }
|
const nonNull = { _version: VERSION, _timestamp: 1 }
|
||||||
expect(_getRecentData(nonNull, null)).to.eql({ recent: nonNull, stale: null, needUpload: true })
|
expect(_getRecentData(nonNull, null, true)).to.eql({ recent: nonNull, stale: null, needUpload: true })
|
||||||
expect(_getRecentData(null, nonNull)).to.eql({ recent: nonNull, stale: null, needUpload: false })
|
expect(_getRecentData(null, nonNull, true)).to.eql({ recent: nonNull, stale: null, needUpload: false })
|
||||||
})
|
})
|
||||||
|
|
||||||
it('should prefer the one with higher timestamp', () => {
|
it('should prefer the one with higher timestamp', () => {
|
||||||
const a = { _version: VERSION, _timestamp: 1 }
|
const a = { _version: VERSION, _timestamp: 1 }
|
||||||
const b = { _version: VERSION, _timestamp: 2 }
|
const b = { _version: VERSION, _timestamp: 2 }
|
||||||
|
|
||||||
expect(_getRecentData(a, b)).to.eql({ recent: b, stale: a, needUpload: false })
|
expect(_getRecentData(a, b, true)).to.eql({ recent: b, stale: a, needUpload: false })
|
||||||
expect(_getRecentData(b, a)).to.eql({ recent: b, stale: a, needUpload: false })
|
expect(_getRecentData(b, a, true)).to.eql({ recent: b, stale: a, needUpload: false })
|
||||||
})
|
})
|
||||||
|
|
||||||
it('case where both are same', () => {
|
it('case where both are same', () => {
|
||||||
const a = { _version: VERSION, _timestamp: 3 }
|
const a = { _version: VERSION, _timestamp: 3 }
|
||||||
const b = { _version: VERSION, _timestamp: 3 }
|
const b = { _version: VERSION, _timestamp: 3 }
|
||||||
|
|
||||||
expect(_getRecentData(a, b)).to.eql({ recent: b, stale: a, needUpload: false })
|
expect(_getRecentData(a, b, true)).to.eql({ recent: b, stale: a, needUpload: false })
|
||||||
expect(_getRecentData(b, a)).to.eql({ recent: b, stale: a, needUpload: false })
|
expect(_getRecentData(b, a, true)).to.eql({ recent: b, stale: a, needUpload: false })
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue