diff --git a/app/controllers/api/orders_controller.rb b/app/controllers/api/orders_controller.rb index 65176a0008..a0a4a0c013 100644 --- a/app/controllers/api/orders_controller.rb +++ b/app/controllers/api/orders_controller.rb @@ -47,7 +47,7 @@ module Api private def payment_capture_failed - render json: { error: t(:payment_processing_failed) }, status: :unprocessable_entity + render json: { error: I18n.t(:payment_processing_failed) }, status: :unprocessable_entity end def serialized_orders(orders) diff --git a/spec/controllers/api/orders_controller_spec.rb b/spec/controllers/api/orders_controller_spec.rb index e93c6d300b..2a5421e9cb 100644 --- a/spec/controllers/api/orders_controller_spec.rb +++ b/spec/controllers/api/orders_controller_spec.rb @@ -285,6 +285,18 @@ module Api expect(order.reload.pending_payments.empty?).to be true expect_order end + + context "when payment is not required" do + before do + allow_any_instance_of(Spree::Order).to receive(:payment_required?) { false } + end + + it "returns an error" do + put :capture, params: { id: order.number } + + expect(json_response['error']).to eq I18n.t(:payment_processing_failed) + end + end end describe "#ship" do