From 627c9eede23f563230fc42bc385ad6188a34e70e Mon Sep 17 00:00:00 2001 From: Gaetan Craig-Riou Date: Mon, 2 Sep 2024 12:18:44 +1000 Subject: [PATCH 1/2] Fix spec using `confirm` pop up For some reason, karma hang and fails with a timeout error if javascrpit `confirm` pop up isn't mocked. Plus fix spec to actually check the pop up has been displayed --- .../controllers/line_items_controller_spec.js.coffee | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/spec/javascripts/unit/admin/line_items/controllers/line_items_controller_spec.js.coffee b/spec/javascripts/unit/admin/line_items/controllers/line_items_controller_spec.js.coffee index 8946a17db4..8b1bab589f 100644 --- a/spec/javascripts/unit/admin/line_items/controllers/line_items_controller_spec.js.coffee +++ b/spec/javascripts/unit/admin/line_items/controllers/line_items_controller_spec.js.coffee @@ -121,18 +121,24 @@ describe "LineItemsCtrl", -> scope.line_items = [ line_item1, line_item2 ] it "show popup about order cancellation only on last item deletion", -> + spyOn(window, "confirm").and.callFake(-> return true) spyOn(window, "ofnCancelOrderAlert") + scope.deleteLineItem(line_item2) + expect(confirm).toHaveBeenCalled() expect(ofnCancelOrderAlert).not.toHaveBeenCalled() + scope.deleteLineItem(line_item1) expect(ofnCancelOrderAlert).toHaveBeenCalled() it "deletes the line item", -> spyOn(window, "confirm").and.callFake(-> return true) spyOn(LineItems, "delete") + scope.deleteLineItem(line_item2) + expect(confirm).toHaveBeenCalled() expect(LineItems.delete).toHaveBeenCalledWith(line_item2, jasmine.anything()) - + describe "deleting 'checked' line items", -> line_item1 = line_item2 = line_item3 = line_item4 = null order1 = order2 = order3 = null From 703ad2677396936695c4934b9bae0b39be2d8a42 Mon Sep 17 00:00:00 2001 From: Gaetan Craig-Riou Date: Mon, 2 Sep 2024 12:23:27 +1000 Subject: [PATCH 2/2] Fix spec to make the test usefull --- .../controllers/line_items_controller_spec.js.coffee | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/spec/javascripts/unit/admin/line_items/controllers/line_items_controller_spec.js.coffee b/spec/javascripts/unit/admin/line_items/controllers/line_items_controller_spec.js.coffee index 8b1bab589f..e77ee3780e 100644 --- a/spec/javascripts/unit/admin/line_items/controllers/line_items_controller_spec.js.coffee +++ b/spec/javascripts/unit/admin/line_items/controllers/line_items_controller_spec.js.coffee @@ -171,10 +171,14 @@ describe "LineItemsCtrl", -> it "asks for confirmation only if orders will be canceled", -> spyOn(window, "ofnCancelOrderAlert") + line_item3.checked = true scope.deleteLineItems(scope.line_items) + line_item1.checked = true scope.deleteLineItems(scope.line_items) + expect(ofnCancelOrderAlert).toHaveBeenCalled() + describe "check boxes for line items", -> line_item1 = line_item2 = null