vendredi 2 janvier 2015

Jasmine: mocking Bower library

I am trying to create a mock for testing a service that depends on another one managed by bower. The code for the Jasmine test is the following (full example at plunker):



describe('jsonrpc', function() {
'use strict';

var uuidMock, $httpBackend, jsonrpc;

beforeEach(module('jsonrpc', function ($provide) {
uuidMock = {};
uuidMock.generate = function () { return 0; };
$provide.value('uuid', uuidMock);
}));

beforeEach(inject(function(_jsonrpc_, _$httpBackend_) {
jsonrpc = _jsonrpc_;
$httpBackend = _$httpBackend_;
}));

it('should have created $httpBackend', function() {
expect($httpBackend.get).toBeDefined();
});

});


The 'jsonrpc' service provider is defined as follows:



angular.module('jsonrpc', ['uuid']).provider('jsonrpc', function() {
'use strict';

var defaults = this.defaults = {};
defaults.basePath = '/rpc';

this.$get = ['$http', 'uuid4', function($http, uuid4) {
function jsonrpc(options, config) {

... (etc) ...


When I try to mock the dependency of the 'jsonrpc' module on the 'uuid' module, I get the following error:



$injector:modulerr http://ift.tt/1vSE4nV


What am I doing wrong when it comes to mock up that dependency?


Aucun commentaire:

Enregistrer un commentaire