describe('Service: albumService', function() { beforeEach(module('satbd.satellite.bar.services')); var $httpBackend,albumService; var albums = readJSON('test/data/albums.json') var albumsByIDs = {}; for ( var i = 0; i < albums.length; i++) { albumsByIDs[albums[i].ID] = albums; } beforeEach(inject(function($injector) { $httpBackend = $injector.get('$httpBackend'); for ( var i = 0; i < albums.length; i++) { $httpBackend.when('GET','/api/albums/'+ albums[i].ID).respond(200,albums[i]); } $httpBackend.when('GET','/api/albums/1234').respond(404, 'Error not found'); albumService = $injector.get('albumService'); })); it('can get an album data', function() { for ( var i = 0; i < albums.length; i++) { var album, err; albumService.get(albums[i].ID).then(function(data) { album = data; }).catch( function() { err = 'Could not get album'; }); $httpBackend.flush(); expect(album.ID).toBe(albums[i].ID); expect(err).toBe(undefined); } var album = undefined , err = undefined; albumService.get(1234).then(function(data) { album = data; }).catch( function() { err = 'Could not get album'; }); $httpBackend.flush(); expect(album).toBe(undefined) expect(err).toBe('Could not get album'); }); it('renames non-utf-8 field to utf-8', function() { for ( var i = 0; i < albums.length; i++) { var album; albumService.get(albums[i].ID) .then(function(data) { album = data; }) $httpBackend.flush(); expect(album.serie).toBe(albums[i].série); expect(album.série).toBe(undefined); } }); });