Skip to content

Commit cecb4bc

Browse files
committed
refactor: remove setProductStorage, restore setLocalStorage and update tests
1 parent a165bec commit cecb4bc

3 files changed

Lines changed: 10 additions & 72 deletions

File tree

src/persistence.js

Lines changed: 9 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -143,15 +143,13 @@ export default function _Persistence(mpInstance) {
143143
};
144144

145145
this.update = function() {
146-
if (!mpInstance._Store.webviewBridgeEnabled) {
147-
if (mpInstance._Store.getPrivacyFlag('SDKState')) {
148-
self.setProductStorage();
149-
return;
150-
}
146+
if (
147+
!mpInstance._Store.webviewBridgeEnabled &&
148+
!mpInstance._Store.getPrivacyFlag('SDKState')
149+
) {
151150
if (mpInstance._Store.SDKConfig.useCookieStorage) {
152151
self.setCookie();
153152
}
154-
155153
self.setLocalStorage();
156154
}
157155
};
@@ -331,12 +329,15 @@ export default function _Persistence(mpInstance) {
331329
return parsedDecodedProducts;
332330
};
333331

334-
this.setProductStorage = function() {
332+
// https://go.mparticle.com/work/SQDSDKS-6021
333+
this.setLocalStorage = function() {
335334
if (!mpInstance._Store.isLocalStorageAvailable) {
336335
return;
337336
}
338337

339-
var allLocalStorageProducts = self.getAllUserProductsFromLS(),
338+
var key = mpInstance._Store.storageName,
339+
allLocalStorageProducts = self.getAllUserProductsFromLS(),
340+
localStorageData = self.getLocalStorage() || {},
340341
currentUser = mpInstance.Identity.getCurrentUser(),
341342
mpid = currentUser ? currentUser.getMPID() : null,
342343
currentUserProducts = {
@@ -358,21 +359,6 @@ export default function _Persistence(mpInstance) {
358359
);
359360
}
360361
}
361-
};
362-
363-
// https://go.mparticle.com/work/SQDSDKS-6021
364-
this.setLocalStorage = function() {
365-
if (!mpInstance._Store.isLocalStorageAvailable) {
366-
return;
367-
}
368-
369-
var key = mpInstance._Store.storageName,
370-
localStorageData = self.getLocalStorage() || {},
371-
currentUser = mpInstance.Identity.getCurrentUser(),
372-
mpid = currentUser ? currentUser.getMPID() : null;
373-
374-
// Always update product storage when setLocalStorage is invoked
375-
self.setProductStorage();
376362

377363
if (!mpInstance._Store.SDKConfig.useCookieStorage) {
378364
localStorageData.gs = localStorageData.gs || {};

test/jest/persistence.spec.ts

Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ describe('Persistence store', () => {
1010
mockMPInstance = {
1111
_Helpers: {
1212
createMainStorageName: () => 'mprtcl-v4',
13-
createProductStorageName: () => 'mprtcl-prodv4',
1413
Validators: { isFunction: () => true },
1514
extend: Object.assign,
1615
},
@@ -20,18 +19,10 @@ describe('Persistence store', () => {
2019
_Persistence: {
2120
setCookie: jest.fn(),
2221
setLocalStorage: jest.fn(() => {
23-
mockMPInstance._Persistence.setProductStorage();
2422
window.localStorage.setItem('mprtcl-v4', 'local-storage');
2523
}),
26-
setProductStorage: jest.fn(() => {
27-
window.localStorage.setItem(encodeURIComponent('mprtcl-prodv4'), 'product-storage');
28-
}),
2924
update: function () {
30-
if (store.webviewBridgeEnabled) {
31-
return;
32-
}
33-
if (store.getNoFunctional()) {
34-
mockMPInstance._Persistence.setProductStorage();
25+
if (store.webviewBridgeEnabled || store.getNoFunctional()) {
3526
return;
3627
}
3728
if (store.SDKConfig.useCookieStorage) {
@@ -53,7 +44,6 @@ describe('Persistence store', () => {
5344
store = {} as IStore;
5445
Store.call(store, {} as SDKInitConfig, mockMPInstance, 'apikey');
5546
window.localStorage.removeItem('mprtcl-v4');
56-
window.localStorage.removeItem(encodeURIComponent('mprtcl-prodv4'));
5747
});
5848

5949
describe('#noFunctional privacy flag', () => {
@@ -70,9 +60,7 @@ describe('Persistence store', () => {
7060

7161
expect(mockMPInstance._Persistence.setCookie).not.toHaveBeenCalled();
7262
expect(mockMPInstance._Persistence.setLocalStorage).not.toHaveBeenCalled();
73-
expect(mockMPInstance._Persistence.setProductStorage).toHaveBeenCalled();
7463
expect(window.localStorage.getItem('mprtcl-v4')).toBeNull();
75-
expect(window.localStorage.getItem(encodeURIComponent('mprtcl-prodv4'))).not.toBeNull();
7664
});
7765

7866
it('should NOT write to localStorage when useCookieStorage is false', () => {
@@ -82,9 +70,7 @@ describe('Persistence store', () => {
8270

8371
expect(mockMPInstance._Persistence.setCookie).not.toHaveBeenCalled();
8472
expect(mockMPInstance._Persistence.setLocalStorage).not.toHaveBeenCalled();
85-
expect(mockMPInstance._Persistence.setProductStorage).toHaveBeenCalled();
8673
expect(window.localStorage.getItem('mprtcl-v4')).toBeNull();
87-
expect(window.localStorage.getItem(encodeURIComponent('mprtcl-prodv4'))).not.toBeNull();
8874
});
8975
});
9076

@@ -101,9 +87,7 @@ describe('Persistence store', () => {
10187

10288
expect(mockMPInstance._Persistence.setCookie).toHaveBeenCalled();
10389
expect(mockMPInstance._Persistence.setLocalStorage).toHaveBeenCalled();
104-
expect(mockMPInstance._Persistence.setProductStorage).toHaveBeenCalled();
10590
expect(window.localStorage.getItem('mprtcl-v4')).not.toBeNull();
106-
expect(window.localStorage.getItem(encodeURIComponent('mprtcl-prodv4'))).not.toBeNull();
10791
});
10892

10993
it('should write to localStorage when useCookieStorage is false', () => {
@@ -113,9 +97,7 @@ describe('Persistence store', () => {
11397

11498
expect(mockMPInstance._Persistence.setCookie).not.toHaveBeenCalled();
11599
expect(mockMPInstance._Persistence.setLocalStorage).toHaveBeenCalled();
116-
expect(mockMPInstance._Persistence.setProductStorage).toHaveBeenCalled();
117100
expect(window.localStorage.getItem('mprtcl-v4')).not.toBeNull();
118-
expect(window.localStorage.getItem(encodeURIComponent('mprtcl-prodv4'))).not.toBeNull();
119101
});
120102
});
121103

@@ -133,9 +115,7 @@ describe('Persistence store', () => {
133115
expect(store.getNoFunctional()).toBe(false);
134116
expect(mockMPInstance._Persistence.setCookie).toHaveBeenCalled();
135117
expect(mockMPInstance._Persistence.setLocalStorage).toHaveBeenCalled();
136-
expect(mockMPInstance._Persistence.setProductStorage).toHaveBeenCalled();
137118
expect(window.localStorage.getItem('mprtcl-v4')).not.toBeNull();
138-
expect(window.localStorage.getItem(encodeURIComponent('mprtcl-prodv4'))).not.toBeNull();
139119
});
140120

141121
it('should write to localStorage by default when useCookieStorage is false', () => {
@@ -146,9 +126,7 @@ describe('Persistence store', () => {
146126
expect(store.getNoFunctional()).toBe(false);
147127
expect(mockMPInstance._Persistence.setCookie).not.toHaveBeenCalled();
148128
expect(mockMPInstance._Persistence.setLocalStorage).toHaveBeenCalled();
149-
expect(mockMPInstance._Persistence.setProductStorage).toHaveBeenCalled();
150129
expect(window.localStorage.getItem('mprtcl-v4')).not.toBeNull();
151-
expect(window.localStorage.getItem(encodeURIComponent('mprtcl-prodv4'))).not.toBeNull();
152130
});
153131
});
154132

@@ -161,9 +139,7 @@ describe('Persistence store', () => {
161139

162140
expect(mockMPInstance._Persistence.setCookie).not.toHaveBeenCalled();
163141
expect(mockMPInstance._Persistence.setLocalStorage).not.toHaveBeenCalled();
164-
expect(mockMPInstance._Persistence.setProductStorage).not.toHaveBeenCalled();
165142
expect(window.localStorage.getItem('mprtcl-v4')).toBeNull();
166-
expect(window.localStorage.getItem(encodeURIComponent('mprtcl-prodv4'))).toBeNull();
167143
});
168144
});
169145
});

test/src/tests-persistence.ts

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1968,10 +1968,6 @@ describe('persistence', () => {
19681968
mParticle.getInstance()._Persistence.update();
19691969

19701970
expect(findCookie()).to.not.be.ok;
1971-
1972-
const products = getLocalStorageProducts();
1973-
expect(products).to.be.ok;
1974-
expect(products).to.have.property(testMPID);
19751971
});
19761972

19771973
it('should NOT write localStorage when useCookieStorage = false', async () => {
@@ -1983,10 +1979,6 @@ describe('persistence', () => {
19831979
mParticle.getInstance()._Persistence.update();
19841980

19851981
expect(getLocalStorage()).to.not.be.ok;
1986-
1987-
const products = getLocalStorageProducts();
1988-
expect(products).to.be.ok;
1989-
expect(products).to.have.property(testMPID);
19901982
});
19911983
});
19921984

@@ -2004,10 +1996,6 @@ describe('persistence', () => {
20041996
mParticle.getInstance()._Persistence.update();
20051997

20061998
expect(findCookie()).to.be.ok;
2007-
2008-
const products = getLocalStorageProducts();
2009-
expect(products).to.be.ok;
2010-
expect(products).to.have.property(testMPID);
20111999
});
20122000

20132001
it('should store localStorage when useCookieStorage = false', async () => {
@@ -2019,10 +2007,6 @@ describe('persistence', () => {
20192007
mParticle.getInstance()._Persistence.update();
20202008

20212009
expect(getLocalStorage()).to.be.ok;
2022-
2023-
const products = getLocalStorageProducts();
2024-
expect(products).to.be.ok;
2025-
expect(products).to.have.property(testMPID);
20262010
});
20272011
});
20282012

@@ -2036,10 +2020,6 @@ describe('persistence', () => {
20362020
mParticle.getInstance()._Persistence.update();
20372021

20382022
expect(findCookie()).to.be.ok;
2039-
2040-
const products = getLocalStorageProducts();
2041-
expect(products).to.be.ok;
2042-
expect(products).to.have.property(testMPID);
20432023
});
20442024

20452025
it('should store localStorage when useCookieStorage = false', async () => {
@@ -2051,10 +2031,6 @@ describe('persistence', () => {
20512031
mParticle.getInstance()._Persistence.update();
20522032

20532033
expect(getLocalStorage()).to.be.ok;
2054-
2055-
const products = getLocalStorageProducts();
2056-
expect(products).to.be.ok;
2057-
expect(products).to.have.property(testMPID);
20582034
});
20592035
});
20602036
});

0 commit comments

Comments
 (0)