diff --git a/test/spec/test.js b/test/spec/test.js index 08cefc6..714c4da 100644 --- a/test/spec/test.js +++ b/test/spec/test.js @@ -1,12 +1,38 @@ -describe('Module: LocalStorageModule', function() { - 'use strict'; +describe('Tests functionality of the localStorage module', function(){ + beforeEach(module('LocalStorageModule')); + var ls, store = {}; + beforeEach(inject(function(_localStorageService_){ + ls = _localStorageService_; - // Load the Angular module - beforeEach(module('LocalStorageModule')); + spyOn(ls, 'get').andCallFake(function(key){ + if(store[key].charAt(0) ==="{" || store[key].charAt(0) === "["){ + return angular.fromJson(store[key]); + }else{ + return store[key]; + } + }); + + spyOn(ls, 'set').andCallFake(function(key, val){ + if(typeof val === "object"){ + val = angular.toJson(val); + } + return store[key] = val; + }); + + spyOn(ls, 'clearAll').andCallFake(function(){ + store = {}; + return store; + }); + })); + + it("Should add a value to my local storage", function(){ + ls.set('test', 'MyTest Value'); + expect(ls.get('test')).toBe('MyTest Value'); + + var obj = { key: 'val' }; + ls.set('object', obj); + var res = ls.get('object'); + expect(res.key).toBe('val'); - describe('constants', function() { - it('reads the constants', function() { - expect(true).toBe(true); }); - }); });