как выполнить модульное тестирование метода с функцией $ proms.then в angularjs -TypeError: Невозможно прочитать свойство 'then' из неопределенного - PullRequest
0 голосов
/ 14 января 2019

У меня есть метод и функция с promise.then.

Я не уверен, как проверить эту закомментированную часть. Когда я запускаю тест с закомментированными частями, выдается TypeError: Невозможно прочитать свойство 'then' из неопределенного . Как это исправить?

введите код сценария:

showHistory(): void {
	let title = "";
	let action = null;
	let id = -1;

	switch (this.selectedIndex) {
	case 0:
		title = this.$translate.instant("dx.dxHistory");
		action = this.history.getDefHistory;
		break;
	case 1:
		title = this.$translate.instant("dx.stHistory");
		action = this.history.getStHistory;
		break;
	}

	// action({dxId: id}).$promise.then((result) => {
	//     const options = {
	//         fields: [
	//             {key: "changedBy", title: this.$translate.instant("dx.changedBy")}
	//         ]
	//     };
	//
	//     this.$mdDialog.show({
	//         clickOutsideToClose: true
	//     });
	// });
}

Тестовый код:

describe("show history", () => {
    
    	fit("should set .......", () => {
    		dxTabs.selectedIndex = 0;
    		dxTabs.dx = createdx();
    
    		const action = () => {
    			return {
    				$promise: $q.when([])
    			};
    		};
    
    		spyOn($translate, "instant").and.callFake((str) => {
    			expect(str).toEqual("dx.dxHistory");
    			return "test";
    		});
    		spyOn(history, "getDefHistory").and.returnValue(action);
    
    		dxTabs.showHistory();
    		expect($translate.instant).toHaveBeenCalled();
    	});
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...