У меня довольно простой тест, который работает против углового обещания, которое я решаю в функции beforeEach, но тогда в моем коде не срабатывает, и я не могу посмотри, что мне не хватает. Они написаны с помощью TypeScript, но на самом деле это не влияет на проблему.Испытание жасмина с угловым обещанием, не разрешающим с помощью TypeScript
Вот мой тест
describe('Refresh->',() => {
var controller = new Directives.Reporting.ReportDirectiveController($scope, $q, $location);
var called = false;
var defer: any;
beforeEach((done) => {
controller.drillReport = (drillReport: Models.drillReport): ng.IPromise<Models.drillData> => {
defer = $q.defer();
called = true;
defer.resolve({});
return defer.promise;
};
spyOn(controller, 'processResults');
controller.refresh();
done();
});
it('Calls DrillReport',() => {
expect(called).toBeTruthy();
});
it('Calls ProcessResults',() => {
expect(controller.processResults).toHaveBeenCalled();
});
});
Метод Refresh в контроллере выглядит следующим образом:
refresh() {
this.drillReport({ drillReport: drillReport })
.then((results: Models.drillData) => {
parent.processResults(results, parent.availableDrills, this.columns, this.gridOptions, undefined, undefined);
});
}
Спасибо. Я знал это, но забыл об этом. –