diff options
Diffstat (limited to 'test/service/cookieStoreSpec.js')
| -rw-r--r-- | test/service/cookieStoreSpec.js | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/test/service/cookieStoreSpec.js b/test/service/cookieStoreSpec.js new file mode 100644 index 00000000..0a493470 --- /dev/null +++ b/test/service/cookieStoreSpec.js @@ -0,0 +1,39 @@ +describe('$cookieStore', function() { + var scope, $browser, $cookieStore; + + beforeEach(function() { + scope = angular.scope(); + $cookieStore = scope.$service('$cookieStore'); + $browser = scope.$service('$browser'); + }); + + afterEach(function(){ + dealoc(scope); + }); + + + it('should serialize objects to json', function() { + $cookieStore.put('objectCookie', {id: 123, name: 'blah'}); + scope.$eval(); //force eval in test + expect($browser.cookies()).toEqual({'objectCookie': '{"id":123,"name":"blah"}'}); + }); + + + it('should deserialize json to object', function() { + $browser.cookies('objectCookie', '{"id":123,"name":"blah"}'); + $browser.poll(); + expect($cookieStore.get('objectCookie')).toEqual({id: 123, name: 'blah'}); + }); + + + it('should delete objects from the store when remove is called', function() { + $cookieStore.put('gonner', { "I'll":"Be Back"}); + scope.$eval(); //force eval in test + $browser.poll(); + expect($browser.cookies()).toEqual({'gonner': '{"I\'ll":"Be Back"}'}); + + $cookieStore.remove('gonner'); + scope.$eval(); + expect($browser.cookies()).toEqual({}); + }); +}); |
