Fixes tests: add sessionStorage mock

This commit is contained in:
Simon Howe
2018-08-27 18:50:10 +02:00
parent 1906e319a9
commit d5c49e5277
4 changed files with 26 additions and 18 deletions

View File

@@ -10,6 +10,10 @@ export const localSessionStorage = {
window.sessionStorage.setItem(k, v);
window.localStorage.setItem(k, v);
},
clear() {
window.sessionStorage.clear();
window.localStorage.clear();
}
};
export function storageGet(key, defaultValue, storage = localSessionStorage) {

View File

@@ -118,7 +118,7 @@
},
"setupFiles": [
"<rootDir>/test/support/raf.js",
"<rootDir>/test/support/localStorage.js"
"<rootDir>/test/support/storage.js"
],
"roots": [
"<rootDir>/app/scripts"

View File

@@ -1,17 +0,0 @@
const localStorageMock = (function() {
let store = {};
return {
store,
getItem: function(key) {
return store[key];
},
setItem: function(key, value) {
store[key] = value;
},
clear: function() {
store = {};
}
};
})();
Object.defineProperty(window, 'Storage', { value: localStorageMock });
Object.defineProperty(window, 'localStorage', { value: localStorageMock });

View File

@@ -0,0 +1,21 @@
const makeStorageMock = function () {
let store = {};
return {
store,
getItem(key) {
return store[key];
},
setItem(key, value) {
store[key] = value;
},
clear() {
store = {};
}
};
};
const localStorageMock = makeStorageMock();
const sessionStorageMock = makeStorageMock();
Object.defineProperty(window, 'localStorage', { value: localStorageMock });
Object.defineProperty(window, 'sessionStorage', { value: sessionStorageMock });