aboutsummaryrefslogtreecommitdiff
path: root/test/unit
diff options
context:
space:
mode:
authorHenry Jameson <me@hjkos.com>2022-08-11 01:07:51 +0300
committerHenry Jameson <me@hjkos.com>2022-08-11 01:07:51 +0300
commit72e238ceb34304cb023a01a84c3f453aadaa775c (patch)
treeda32fa1b8471826c3b34c79958d27e6d7dd58b46 /test/unit
parent8a67fe93c2ca56689c478c38e527e2f5a0d8d5ab (diff)
server side storage support for collections + fixes
Diffstat (limited to 'test/unit')
-rw-r--r--test/unit/specs/modules/serverSideStorage.spec.js20
1 files changed, 16 insertions, 4 deletions
diff --git a/test/unit/specs/modules/serverSideStorage.spec.js b/test/unit/specs/modules/serverSideStorage.spec.js
index da790793..ada3b7ca 100644
--- a/test/unit/specs/modules/serverSideStorage.spec.js
+++ b/test/unit/specs/modules/serverSideStorage.spec.js
@@ -4,6 +4,7 @@ import {
VERSION,
COMMAND_TRIM_FLAGS,
COMMAND_TRIM_FLAGS_AND_RESET,
+ _moveItemInArray,
_getRecentData,
_getAllFlags,
_mergeFlags,
@@ -62,7 +63,7 @@ describe('The serverSideStorage module', () => {
updateCounter: 1
},
prefsStorage: {
- ...defaultState.flagStorage,
+ ...defaultState.prefsStorage
}
}
}
@@ -106,7 +107,7 @@ describe('The serverSideStorage module', () => {
})
})
describe('setPreference', () => {
- const { setPreference } = mutations
+ const { setPreference, updateCache } = mutations
it('should set preference and update journal log accordingly', () => {
const state = cloneDeep(defaultState)
@@ -122,11 +123,12 @@ describe('The serverSideStorage module', () => {
})
})
- it('should keep journal to a minimum (one entry per path)', () => {
+ it('should keep journal to a minimum (one entry per path for sets)', () => {
const state = cloneDeep(defaultState)
setPreference(state, { path: 'simple.testing', value: 1 })
setPreference(state, { path: 'simple.testing', value: 2 })
- expect(state.prefsStorage.simple.testing).to.eql(1)
+ updateCache(state)
+ expect(state.prefsStorage.simple.testing).to.eql(2)
expect(state.prefsStorage._journal.length).to.eql(1)
expect(state.prefsStorage._journal[0]).to.eql({
path: 'simple.testing',
@@ -140,6 +142,16 @@ describe('The serverSideStorage module', () => {
})
describe('helper functions', () => {
+ describe('_moveItemInArray', () => {
+ it('should move item according to movement value', () => {
+ expect(_moveItemInArray([1, 2, 3, 4], 4, -1)).to.eql([1, 2, 4, 3])
+ expect(_moveItemInArray([1, 2, 3, 4], 1, 2)).to.eql([2, 3, 1, 4])
+ })
+ it('should clamp movement to within array', () => {
+ expect(_moveItemInArray([1, 2, 3, 4], 4, -10)).to.eql([4, 1, 2, 3])
+ expect(_moveItemInArray([1, 2, 3, 4], 3, 99)).to.eql([1, 2, 4, 3])
+ })
+ })
describe('_getRecentData', () => {
it('should handle nulls correctly', () => {
expect(_getRecentData(null, null)).to.eql({ recent: null, stale: null, needUpload: true })