user5091161
user5091161

Reputation:

Testing Filter with Jasmine + Angular + Error: [$injector:unpr] Unknown provider

Here is my app.js module part angular

  .module('flickrNgSpaApp', [
    'ngAnimate',
    'ngCookies',
    'ngResource',
    'ngRoute',
    'ngSanitize',
    'ngTouch',
    'ngMock'
  ])

filter that I am using (flickrNgSpaApp)

'use strict';

angular.module('flickrNgSpaApp')
  .filter('flickrURL', function () {
    return function (input, dimension) {
      var url = 'http://farm{farm-id}.staticflickr.com/{server-id}/{id}_{secret}_[mstzb].jpg';
      return  url.replace('{farm-id}', input.farm)
        .replace('{server-id}', input.server)
        .replace('{id}', input.id)
        .replace('{secret}', input.secret)
        .replace('[mstzb]', dimension);
    };
  });

And filter unit test that fails for some reason :)

'use strict';
describe('Filter: flickrURLFilter', function () {
var $filter;
 beforeEach(function(){module('flickrNgSpaApp')});
 beforeEach(inject(function (_$filter_) {
    $filter=_$filter_;
  }));
  it('returns null',function(){
    var input={
      farm:"1",
      server:"2",
      id:"3",
      secret:"4",
      dimension:"q"
     };
    expect($filter('flickrURLFilter')(input, 'q')).not.toEqual(0);
  })
});

and error:

Chrome 43.0.2357 (Windows 8.1 0.0.0) Filter: flickrURLFilter returns null FAILED
        Error: [$injector:unpr] Unknown provider: flickrURLFilterFilterProvider
<- flickrURLFilterFilter

Could anyone take a look and give me any hints... I would be grateful! :)

Upvotes: 0

Views: 821

Answers (1)

Omri Aharon
Omri Aharon

Reputation: 17064

Use the name of the filter, and replace $filter('flickrURLFilter') with $filter('flickrURL').

Upvotes: 1

Related Questions