I've a custom filter in which I inject a service :
DurationConfig.$inject = ['translationService'];
function DurationConfig(translationService: ITranslationService) {
translationService.getTranslations([
'bxdate_a_month',
'bxdate_months',
'bxdate_minute',
'bxdate_future',
'bxdate_hour',
'bxdate_past',
'bxdate_a_year',
'bxdate_years',
'bxdate_day',
]).then((translations: Common.Translations) => {
(moment as any).updateLocale("en", {
relativeTime: {
When I create a unit test using jasmine i have this error :
Error: [$injector:unpr] Unknown provider: translationServiceProvider <- translationService https://errors.angularjs.org/1.7.9/$injector/unpr?p0=translationServiceProvider%20%3C-%20translationService
Here the unit test :
beforeEach(inject((
_$filter_: ng.IFilterService,
_translationService_: Bordeaux.Common.ITranslationService,
$q: ng.IQService
) => {
translationService = _translationService_;
translateRetrieveDataDeferred = $q.defer();
translateRetrieveDataDeferred.resolve(<Bordeaux.Common.Translations>{
"global_filtering_status_filtered": "Filtered",
"global_filtering_status_all": "All",
"global_filtering_title": "Global filtering",
});
jasmine.clock().install();
moment.locale("en");
durationFilter = _$filter_("duration");
}));
How can I inject the translationService into the durationFilter?