In my directive templates, I need to use the angular translate filter as such:
<label for="data-source-btn">
<span id="data-source-btn-span"></span>
{{'Data Source' | translate}}
</label>
Then in my unit test for this directive, I get the error:
Unknown provider: translateFilterProvider <- translateFilter
I've tried injecting $filter
and getting $translate
by $translate = $filter('translate');
which doesn't solve the problem - this is really for testing the filter
I can inject the module pascalprecht.translate
, but that is heavy handed. How do I best mock the filter?
This is the ES6 way:
This does not mock the $translate.instant method. For this you could assign the function to a variable and then assign the angular.identity method to the
instant
property.This is working for me. But of course you should set mockTraslateFilter value to function bewfore you will use it in another funciton.
even shorter, if you use ES6:
Below is a simple example of how you can mock the filter.