1


I have a problem with injection dependency service in my test. I tried inject in different ways, but problem still stays. Injection works only in one way, via

var $injector = angular.injector(['app']);
    $auth = $injector.get('$auth');

but i think it's not good idea.

My config files:

files: [
  '../www/lib/angular/angular.js',

  '../www/lib/moment/min/moment.min.js',
  '../www/lib/moment/locale/ru.js',
  '../www/lib/highcharts/adapters/standalone-framework.js',
  '../www/lib/highcharts/highcharts.js',
  '../www/lib/highcharts/highcharts-more.js',
  '../www/lib/highcharts/modules/funnel.js',
  '../www/lib/nouislider/distribute/nouislider.js',
  '../www/lib/angular-cache/dist/angular-cache.js',
  '../www/lib/angular-moment/angular-moment.js',
  '../www/lib/ngstorage/ngStorage.min.js',
  '../www/lib/nouislider-angular/nouislider.js',
  '../www/lib/highcharts-ng/dist/highcharts-ng.js',
  '../www/lib/angular-lz-string/angular-lz-string.js',
  '../www/lib/ng-lodash/build/ng-lodash.min.js',
  '../www/lib/angular-mocks/angular-mocks.js',

  '../www/js/app.js',

  'unit/*.js'
],

My test:

describe('$auth', function () {
    var auth;
    beforeEach(module('app'));

    beforeEach(inject(function($auth) {
        auth = $auth;
        console.log(auth); // Not executes
    }));

    it('should call requestAuth', function () {
        expect(auth).not.toBeUndefined(); // false here
    });
});

1 Answers1

0

You probalby need

beforeEach(module('app', 'ng'));

or whatever module $auth is in

Archmede
  • 1,592
  • 2
  • 20
  • 37