У меня есть директива, которая содержит другую директиву. Вот директива:Проверка директивы, которая зависит от другой директивы - Angularjs
<div class="chat-container">
<h5 class="chat-header">
<span class="patient-name-container">{{encounter.patient.firstName }} {{encounter.patient.lastName}}</span></h5>
<div ng-show="showMessages">
<div messages-container messages="encounter.comments"></div>
</div>
</div>
А вот мой тест:
var element;
beforeEach(module('app/views/chat.container.html'));
beforeEach(inject(function($templateCache, $compile, $rootScope) {
var chatTemplate = $templateCache.get('app/views/chat.container.html');
$templateCache.put('views/chat.container.html', chatTemplate);
var directive = angular.element('<div chat-container max-chat-count="800" class="pull-left"></div>');
element = $compile(directive)($rootScope);
$rootScope.$digest();
}));
it('the remaining count to be 800', function() {
expect(element.find('#counter').text()).toBe('800');
});
});
Моя ошибка Error: Unexpected request: GET views/messages.container.html
. Он ищет html
, чтобы создать директиву messages-container
, но он не может ее найти. Я попытался добавить другую директиву, как это право после того, как первый:
var messagesTemplate = $templateCache.get('app/views/messages.container.html');
$templateCache.put('views/messages.container.html', messagesTemplate);
, но я все еще получаю ту же ошибку, поэтому у меня есть 2 вопроса. Во-первых - Как это проверить? Вторым - теперь я создаю свой тест с зависимостью от другой директивы, какой правильный способ справиться с этим?
«но это все еще не работает» - была ли та же ошибка? Он должен работать нормально, пока '$ templateCache' получает шаблон * messages.container * перед тем, как вы' компилируете' 'chat-container' ... и до тех пор, пока вы загрузили модуль, содержащий второй шаблон. – Andyrooger
Я все еще получаю ту же ошибку. – jhamm