From 627c9eede23f563230fc42bc385ad6188a34e70e Mon Sep 17 00:00:00 2001 From: Gaetan Craig-Riou Date: Mon, 2 Sep 2024 12:18:44 +1000 Subject: [PATCH] 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