Я буквально любитель, когда дело доходит до тестирования в Angular 5.
Это мой простой компонент:
interface TotalAmount {
alphaAmount: number;
betaAmount: number;
}
export class TransactionSummaryComponent implements OnInit {
private id = 1;
transactionSummary: TransactionSummary;
totalAmount: TotalAmount;
constructor(private payService: PayService) {
}
ngOnInit(): void {
this.loadTransactionSummary();
}
loadTransactionSummary(): void {
this.payService.getTransactionSummary(this.id).subscribe((data) => {
if (data !== null) {
this.transactionSummary = data;
this.calculateTotalAmount();
}
}
);
}
calculateTotalAmount(): void {
this.totalAmount = {
alphaAmount: this.transactionSummary.alphaAmountNew + this.transactionSummary.alphaAmountOld,
betaAmount: this.transactionSummary.betaAmountNew + this.transactionSummary.betaAmountOld
};
}
}
Как видите, все очень просто. Я загружаю данные с помощью службы http loadTransactionSummary()
, затем запускаю метод calculateTotalAmount()
, который суммирует полученные данные.
Мне интересно, как мне проверить этот calculateTotalAmount()
метод. Так как есть некоторая бизнес-логика, так что следует проверить. Правильно? Должен ли я действительно сделать http-запрос для получения transactionSummary
данных или, может быть, мне стоит каким-то образом издеваться над этими данными? Каков наилучший подход в таком случае? Можете привести пример?