controller.js
define([
'angular',
'app',
'underscore',
'jquery'
],
function (angular, app, _, $) {
'use strict';
var module = angular.module('kibana.panels.dummy', []);
app.useModule(module);
module.controller('dummy', function($scope, dashboard, querySrv, filterSrv) {
$scope.heading = 'Welcome';
$scope.panelMeta = {
status : "Beta",
description : "Dummy module for demonstartion"
};
.......
controllerSpec.js
'use strict';
define(['./controller'], function(app)
{
describe("The 'dummy'", function()
{
var $rootScope;
var $controller;
var $scope;
beforeEach(function()
{
module('kibana');
module('kibana.panels.dummy');
inject
([
'$injector',
'$rootScope',
'$controller',
function($injector, _$rootScope, _$controller)
{
$rootScope = _$rootScope;
$scope = $rootScope.$new();
console.log(_$controller)
$controller = _$controller;
}
]);
$controller('dummy', {$scope: $scope});
});
it("should set the page heading to 'Welcome'", function()
{
expect($scope.page).toBe('Welcome');
});
});
});
........................
app.js
// bootstrap the app
angular
.element(document)
.ready(function() {
$('body').attr('ng-controller', 'DashCtrl');
angular.bootstrap(document, apps_deps)
.invoke(['$rootScope', function ($rootScope) {
_.each(pre_boot_modules, function (module) {
console.log("extend ... ", module.name)
_.extend(module, register_fns);
});
pre_boot_modules = false;
$rootScope.requireContext = appLevelRequire;
$rootScope.require = function (deps, fn) {
var $scope = this;
$scope.requireContext(deps, function() {
var deps = _.toArray(arguments);
$scope.$apply(function() {
fn.apply($scope, deps);
});
});
};
}]);
});
.................
when run karma start
Ошибка: Неизвестный поставщик: $ controllerProvider от kibana.panels.dummy на ошибки (родной) в /home/badrit004/Projects/solr-4.8.1/SiLK/banana -webapp/webapp/src/vendor/angular/angular.js: 2832: 42 at Object.getService [as get] (/home/badrit004/Projects/solr-4.8.1/SiLK/banana-webapp/webapp/src /vendor/angular/angular.js:2960:39) по адресу /home/badrit004/Projects/solr-4.8.1/SiLK/banana-webapp/webapp/src/vendor/angular/angular.js:2912:54 на Array.forEach (родной) at forEach (/home/badrit004/Projects/solr-4.8.1/SiLK/banana-webapp/webapp/src/vendor/angular/angular.js:130:11) at loadModules (/home/badrit004/Projects/solr-4.8.1/SiLK/banana-webapp/webapp/src/vendor/angular/angular.js:2900:5) в Object.createInjector [в качестве инжектора] (/ home/badrit004/Проекты/solr-4.8.1/SiLK/banana-webapp/webapp/src/vendor/angular/angular.js: 2842: 11) at Object.workFn (/home/badrit004/Projects/solr-4.8 .1/SiLK/banana-webapp/webapp/src/bower_components/angular-mocks/angular-mocks.js: 2339: 52) at window.inject.angular.mock.inject (/ home/badrit004/Projects/solr- 4.8.1/SiLK/banana-webapp/webapp/src/bower_components/angular-mocks/angular-mocks.js: 2322: 37угловые JS динамически загружаются модули + requirejs