tentacle.js
Version:
Auto mock/inject dependencies for Angular tests
93 lines (83 loc) • 1.56 kB
JavaScript
(function () {
'use strict';
var app = angular.module('tentacleApp', []);
app.factory('serviceDep1', [function () {
return {
name: 'serviceDep1'
};
}]);
app.factory('serviceDep2', [function () {
return {
name: 'serviceDep2'
};
}]);
app.factory('qTest', [function () {
return {
name: 'qTest'
};
}]);
app.factory('tentacleService', [
'serviceDep1',
'serviceDep2',
tentacleService
]);
function tentacleService(
serviceDep1,
serviceDep2
) {
return {
serviceDep1: serviceDep1,
serviceDep2: serviceDep2
};
}
app.controller('tentacleCtrl', [
'$scope',
'$q',
'qTest',
'serviceDep1',
'serviceDep2',
tentacleCtrl
]);
function tentacleCtrl(
$scope,
$q,
qTest,
serviceDep1,
serviceDep2
) {
this.serviceDep1 = serviceDep1;
this.serviceDep2 = serviceDep2;
qTest.test = null;
$q.when().then(function () {
qTest.test = true;
});
}
app.directive('tentacleDir', [
'$q',
'qTest',
'serviceDep1',
'serviceDep2',
tentacleDir
]);
function tentacleDir(
$q,
qTest,
serviceDep1,
serviceDep2
) {
function link(scope) {
$q.when().then(function () {
qTest.test = true;
});
scope.serviceDep1 = serviceDep1;
scope.serviceDep2 = serviceDep2;
}
function ctrl() {}
return {
restrict: 'EA',
link: link,
controller: ['$scope', ctrl],
template: '<h1>tentacle.js</h1>'
};
}
})();