Diretiva Teste de Unidade Angularjs, que contém tempo limite privado, com Jasmine

Eu tenho uma diretiva, que deve se comportar de maneira diferente, dependendo de quanto tempo passou desde a inicialização:

am.directive('showText', () => ({
  restrict: 'E',
  replace: true,
  scope: {
    value: '@'
  },
  controller: ($scope, $timeout) => {
    console.log('timeout triggered');

    $scope.textVisible = false;

    let visibilityCheckTimeout = $timeout(() => {
      if (parseInt($scope.value, 10) < 100) {
        $scope.textVisible = true;
      }
    }, 330);

    // Clear timeout upon directive destruction
    $scope.$on('$destroy', $timeout.cancel(visibilityCheckTimeout));
  },
}));

O problema é que, quando estou tentando testá-lo com Jasmine, parece que não consigo encontrar uma maneira de disparar esse tempo limite de forma alguma. Já tentei um$timeout.flush() e$timeout.verifyNoPendingTasks() (que realmente gera um erro, se eu comentarflush ligar). Mas ainda não está acionando a execução de retorno de chamada desse tempo limite

describe('showText.', () => {
  let $compile;
  let $rootScope;
  let $scope;
  let $timeout;

  const compileElement = (rootScope, value = 0) => {
    $scope = rootScope.$new();
    $scope.value = value;

    const element = $compile(`
      <show-text
        value="value"
      ></show-text>
    `)($scope);

    $scope.$digest();

    return element;
  };

  beforeEach(() => {
    module('app.directives.showText');

    inject((_$compile_, _$rootScope_, _$timeout_) => {
      $compile = _$compile_;
      $rootScope = _$rootScope_;
      $timeout = _$timeout_;
    });
  });

  it(`Process lasts > 0.33s. Should show text.`, () => {
    const VALUE = 30;
    const element = compileElement($rootScope, VALUE);
    const elementContent = element.find('.show-text__content');

    $timeout.flush(1000);

    $timeout.verifyNoPendingTasks();

    $rootScope.$digest();

    expect(element.isolateScope().textVisible).toBeTruthy();
    expect(elementContent.length).toEqual(1);
    expect(elementContent.text().trim()).toBe('Example text');
  });
});

O teste falha.

Não consigo encontrar o que estou fazendo de errado. Alguma dica sobre como testar adequadamente esse caso?

Obrigado.

UPD Após alguma investigação, descobri que, nesse caso de teste específico, emcompileElement função,value propriedade não está sendo avaliada por$compile serviço. E igual"value". Eu já usei a mesma função 10 vezes e não consigo entender, por que não está demorando$scope.valuepropriedade de como era antes.

questionAnswers(0)

yourAnswerToTheQuestion