From 62471bf2abfa2056119ffda116ea0fe89332e724 Mon Sep 17 00:00:00 2001 From: Luis Ramos Date: Tue, 14 Apr 2020 13:50:38 +0100 Subject: [PATCH] Clear Loading spinner when exception is caught --- .../javascripts/darkswarm/services/checkout.js.coffee | 1 + .../unit/darkswarm/services/checkout_spec.js.coffee | 7 ++++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/app/assets/javascripts/darkswarm/services/checkout.js.coffee b/app/assets/javascripts/darkswarm/services/checkout.js.coffee index c6e9282c59..d974004d92 100644 --- a/app/assets/javascripts/darkswarm/services/checkout.js.coffee +++ b/app/assets/javascripts/darkswarm/services/checkout.js.coffee @@ -28,6 +28,7 @@ Darkswarm.factory 'Checkout', ($injector, CurrentOrder, ShippingMethods, StripeE @errors = response.data.errors RailsFlashLoader.loadFlash(response.data.flash) catch error + Loading.clear() RailsFlashLoader.loadFlash(error: t("checkout.failed")) # inform the user about the unexpected error throw error # generate a BugsnagJS alert diff --git a/spec/javascripts/unit/darkswarm/services/checkout_spec.js.coffee b/spec/javascripts/unit/darkswarm/services/checkout_spec.js.coffee index b8575f5336..263fe502f2 100644 --- a/spec/javascripts/unit/darkswarm/services/checkout_spec.js.coffee +++ b/spec/javascripts/unit/darkswarm/services/checkout_spec.js.coffee @@ -3,6 +3,7 @@ describe 'Checkout service', -> orderData = null $httpBackend = null Navigation = null + navigationSpy = null flash = null scope = null FlashLoaderMock = @@ -64,7 +65,7 @@ describe 'Checkout service', -> scope.Checkout = Checkout Navigation = $injector.get("Navigation") flash = $injector.get("flash") - spyOn(Navigation, "go") # Stubbing out writes to window.location + navigationSpy = spyOn(Navigation, "go") # Stubbing out writes to window.location it "defaults to no shipping method", -> expect(Checkout.order.shipping_method_id).toEqual null @@ -139,8 +140,8 @@ describe 'Checkout service', -> it "throws an exception and sends a flash message to the flash service when an exception is thrown while handling the error", -> spyOn(FlashLoaderMock, "loadFlash") # Stubbing out writes to window.location - spyOn(Loading, "clear").and.callFake(-> throw "unexpected error") - $httpBackend.expectPUT("/checkout.json").respond 400, {flash: {error: "frogs"}} + navigationSpy.and.callFake(-> throw "unexpected error") + $httpBackend.expectPUT("/checkout.json").respond 400, {path: 'path'} try Checkout.submit() $httpBackend.flush()