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({}); +  }); +});  | 
