Files
satbd-explorer/test/specs/album-service_test.js
2016-02-12 14:01:33 +01:00

64 lines
1.6 KiB
JavaScript

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);
}
});
});