From 35545306d3f56e883110aceea0f694772d953ef2 Mon Sep 17 00:00:00 2001 From: Andreas Krummsdorf <a.krummsdorf@litixsoft.de> Date: Wed, 6 Jan 2016 10:18:07 +0100 Subject: [PATCH 1/3] make test working for angular 1.4.x * implementation of ngCookies has changed in angular 1.4 and therefore the unit tests were failing * mocked the cookieStore methods to make it working --- .../unit/angularStorage/services/storeSpec.js | 47 +++++++++++++++---- 1 file changed, 38 insertions(+), 9 deletions(-) diff --git a/test/unit/angularStorage/services/storeSpec.js b/test/unit/angularStorage/services/storeSpec.js index fe1e4e6..e2aaafa 100644 --- a/test/unit/angularStorage/services/storeSpec.js +++ b/test/unit/angularStorage/services/storeSpec.js @@ -99,9 +99,22 @@ describe('angularStorage storeProvider.setStore("sessionStorage")', function () describe('angularStorage storeProvider.setStore("sessionStorage")', function () { var provider, windowMock, $cookieStore; + var mockCookieStore = {}; beforeEach(function() { module('ngCookies', 'angular-storage.store', function(storeProvider, $provide) { + + // decorator to mock the methods of the cookieStore + $provide.decorator('$cookieStore', function ($delegate) { + $delegate.put = function (key, value) { + mockCookieStore[key] = value; + }; + $delegate.get = function (key) { + return mockCookieStore[key]; + }; + return $delegate; + }); + provider = storeProvider; provider.setStore('sessionStorage'); @@ -237,17 +250,33 @@ describe('angularStorage store: cookie fallback', function() { * */ - var windowMock, $cookieStore; + var windowMock, $cookieStore; + var mockCookieStore = {}; + + /* provide a mock for $window where localStorage is not defined */ + beforeEach(module('ngCookies', 'angular-storage.store', function ($provide) { + + // decorator to mock the methods of the cookieStore + $provide.decorator('$cookieStore', function ($delegate) { + $delegate.put = function (key, value) { + mockCookieStore[key] = value; + }; + $delegate.get = function (key) { + return mockCookieStore[key]; + }; + $delegate.remove = function (key) { + delete mockCookieStore[key]; + }; + return $delegate; + }); - /* provide a mock for $window where localStorage is not defined */ - beforeEach(module('ngCookies', 'angular-storage.store', function ($provide) { - windowMock = { localStorage: undefined }; - $provide.value('$window', windowMock); - })); + windowMock = { localStorage: undefined }; + $provide.value('$window', windowMock); + })); - beforeEach(inject(function( _$cookieStore_) { - $cookieStore = _$cookieStore_; - })); + beforeEach(inject(function (_$cookieStore_) { + $cookieStore = _$cookieStore_; + })); it('should save items correctly in localStorage', inject(function(store) { var value = 1; -- GitLab From a20d6b60aedeaf6371766163ecc7239c1d697a0e Mon Sep 17 00:00:00 2001 From: Andreas Krummsdorf <a.krummsdorf@litixsoft.de> Date: Fri, 26 Feb 2016 08:42:59 +0100 Subject: [PATCH 2/3] fix: add missing bracket in cookieStorage service declaration --- src/angularStorage/services/cookieStorage.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/angularStorage/services/cookieStorage.js b/src/angularStorage/services/cookieStorage.js index a62adc6..1d065f3 100644 --- a/src/angularStorage/services/cookieStorage.js +++ b/src/angularStorage/services/cookieStorage.js @@ -12,4 +12,4 @@ angular.module('angular-storage.cookieStorage', []) this.remove = function (what) { return $cookies.remove(what); }; - }); + }]); -- GitLab From 5ed90d9defac3a0cd4d2b82b1efa49c2e838e522 Mon Sep 17 00:00:00 2001 From: Andreas Krummsdorf <a.krummsdorf@litixsoft.de> Date: Fri, 26 Feb 2016 08:50:44 +0100 Subject: [PATCH 3/3] tests: make tests working with new $cookies service --- .../unit/angularStorage/services/storeSpec.js | 46 +++++++++---------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/test/unit/angularStorage/services/storeSpec.js b/test/unit/angularStorage/services/storeSpec.js index e2aaafa..6edb60f 100644 --- a/test/unit/angularStorage/services/storeSpec.js +++ b/test/unit/angularStorage/services/storeSpec.js @@ -98,14 +98,14 @@ describe('angularStorage storeProvider.setStore("sessionStorage")', function () describe('angularStorage storeProvider.setStore("sessionStorage")', function () { - var provider, windowMock, $cookieStore; + var provider, windowMock, $cookies; var mockCookieStore = {}; beforeEach(function() { module('ngCookies', 'angular-storage.store', function(storeProvider, $provide) { // decorator to mock the methods of the cookieStore - $provide.decorator('$cookieStore', function ($delegate) { + $provide.decorator('$cookies', function ($delegate) { $delegate.put = function (key, value) { mockCookieStore[key] = value; }; @@ -123,8 +123,8 @@ describe('angularStorage storeProvider.setStore("sessionStorage")', function () }); }); - beforeEach(inject(function( _$cookieStore_) { - $cookieStore = _$cookieStore_; + beforeEach(inject(function( _$cookies_) { + $cookies = _$cookies_; })); it('should fallback to cookieStorage', inject(function(store) { @@ -132,7 +132,7 @@ describe('angularStorage storeProvider.setStore("sessionStorage")', function () store.set('gonto123', value); expect(store.get('gonto123')).to.equal(value); - expect($cookieStore.get('gonto123')).to.equal(JSON.stringify(value)); + expect($cookies.get('gonto123')).to.equal(JSON.stringify(value)); })); }); @@ -160,7 +160,7 @@ describe('angularStorage storeProvider.setStore("localStorage")', function () { describe('angularStorage storeProvider.setStore("cookieStorage")', function () { var provider; - var $cookieStore; + var $cookies; beforeEach(function() { module('ngCookies', 'angular-storage.store', function(storeProvider) { @@ -169,8 +169,8 @@ describe('angularStorage storeProvider.setStore("cookieStorage")', function () { }); }); - beforeEach(inject(function( _$cookieStore_) { - $cookieStore = _$cookieStore_; + beforeEach(inject(function( _$cookies_) { + $cookies = _$cookies_; })); it('should save items correctly in the cookieStorage', inject(function(store) { @@ -178,7 +178,7 @@ describe('angularStorage storeProvider.setStore("cookieStorage")', function () { store.set('gonto', value); expect(store.get('gonto')).to.equal(value); - expect($cookieStore.get('gonto')).to.equal(JSON.stringify(value)); + expect($cookies.get('gonto')).to.equal(JSON.stringify(value)); })); }); @@ -250,14 +250,14 @@ describe('angularStorage store: cookie fallback', function() { * */ - var windowMock, $cookieStore; + var windowMock, $cookies; var mockCookieStore = {}; /* provide a mock for $window where localStorage is not defined */ beforeEach(module('ngCookies', 'angular-storage.store', function ($provide) { // decorator to mock the methods of the cookieStore - $provide.decorator('$cookieStore', function ($delegate) { + $provide.decorator('$cookies', function ($delegate) { $delegate.put = function (key, value) { mockCookieStore[key] = value; }; @@ -274,29 +274,29 @@ describe('angularStorage store: cookie fallback', function() { $provide.value('$window', windowMock); })); - beforeEach(inject(function (_$cookieStore_) { - $cookieStore = _$cookieStore_; + beforeEach(inject(function (_$cookies_) { + $cookies = _$cookies_; })); it('should save items correctly in localStorage', inject(function(store) { var value = 1; store.set('gonto', value); expect(store.get('gonto')).to.equal(value); //this line asserts that value was saved by our service - expect($cookieStore.get('gonto')).to.equal(JSON.stringify(value)); //this line asserts that cookie store was used + expect($cookies.get('gonto')).to.equal(JSON.stringify(value)); //this line asserts that cookie store was used })); it('should save null items correctly in localStorage', inject(function(store) { store.set('gonto', null); store.inMemoryCache = {}; expect(store.get('gonto')).to.equal(null); - expect($cookieStore.get('gonto')).to.equal(JSON.stringify(null)); + expect($cookies.get('gonto')).to.equal(JSON.stringify(null)); })); it('should save undefined items correctly in localStorage', inject(function(store) { store.set('gonto', undefined); store.inMemoryCache = {}; expect(store.get('gonto')).to.equal(undefined); - expect($cookieStore.get('gonto')).to.equal(JSON.stringify(undefined)); + expect($cookies.get('gonto')).to.equal(JSON.stringify(undefined)); })); it('should delete items correctly from localStorage', inject(function(store) { @@ -305,7 +305,7 @@ describe('angularStorage store: cookie fallback', function() { expect(store.get('gonto')).to.equal(value); store.remove('gonto'); expect(store.get('gonto')).to.not.exist; - expect($cookieStore.get('gonto')).to.not.exist; + expect($cookies.get('gonto')).to.not.exist; })); it('should save objects correctly', inject(function(store) { @@ -322,7 +322,7 @@ describe('angularStorage store: cookie fallback', function() { }; store.set('gonto', value); expect(store.get('gonto')).to.eql(value); - expect($cookieStore.get('gonto')).to.equal(JSON.stringify(value)); + expect($cookies.get('gonto')).to.equal(JSON.stringify(value)); })); it('should save objects correctly without cache', inject(function(store) { @@ -343,7 +343,7 @@ describe('angularStorage store: cookie fallback', function() { store.inMemoryCache = {}; expect(store.get('gonto')).to.eql(value); expect(store.get('gonto')).not.to.equal(value); - expect($cookieStore.get('gonto')).to.eql(JSON.stringify(value)); + expect($cookies.get('gonto')).to.eql(JSON.stringify(value)); })); @@ -424,10 +424,10 @@ describe('angularStorage new namespaced store', function() { })); describe('with param storage', function () { - var $cookieStore; + var $cookies; - beforeEach(inject(function( _$cookieStore_) { - $cookieStore = _$cookieStore_; + beforeEach(inject(function( _$cookies_) { + $cookies = _$cookies_; })); it('should should save items correctly when the storage is set to sessionStorage', inject(function(store, $window) { @@ -458,7 +458,7 @@ describe('angularStorage new namespaced store', function() { cookieStore.set('wayne', value); expect(cookieStore.get('wayne')).to.equal(value); - expect($cookieStore.get('cc.wayne')).to.equal(JSON.stringify(value)); + expect($cookies.get('cc.wayne')).to.equal(JSON.stringify(value)); })); }); }); -- GitLab