Reputation:
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
Reputation: 17064
Use the name of the filter, and replace $filter('flickrURLFilter')
with $filter('flickrURL')
.
Upvotes: 1