単体テスト スペック ファイルで outOfMvp() 関数を呼び出すと、onTap 関数を除く関数内のすべてが対象になります。$ionicPopup.show() メソッドで渡される JSON オブジェクトにあるボタンの onTap 関数の単体テストでカバレッジを取得する方法を知りたいと思っていましたか?
js ファイル内の関数は次のとおりです。
function outOfMvp(data) {
environmentConfig.isScanDataReadValid = false;
popup = $ionicPopup.show({
title: kioskConstants.POPUP_WORDING.OUT_OF_MVP_RETURN.title,
template: data.returnRejectReasons[0].description
+ '.<br><br>' + kioskConstants.POPUP_WORDING.OUT_OF_MVP_RETURN.template
+ ' <span style=\'color:#007dc6\'>' + data.orderNo + '</span>',
cssClass: 'popup-container-small',
buttons: [
{
text: "OK",
type: "bottom-button green narrow",
onTap: function () {
if ($state.current.name != "order-history") {
environmentConfig.isScanDataReadValid = true;
$rootScope.$broadcast("CancelConnectQR", data.orderNo);
OrderInfo.init();
$state.go(kioskConstants.ROUTE_STATE_LANDING_PAGE);
}
}
}
]
});
}
仕様ファイルの outOfMvp 関数の単体テスト:
describe('If call customPopupWidget.outOfMvp(data) function',function () {
it('it should call $ionicPopup.show().', function () {
customPopupWidget.outOfMvp(data);
expect(ionicPopup.show).toHaveBeenCalled();
});