diff --git a/app/helpers/spree/admin/orders_helper.rb b/app/helpers/spree/admin/orders_helper.rb index 8a93ff2f54..ff58511282 100644 --- a/app/helpers/spree/admin/orders_helper.rb +++ b/app/helpers/spree/admin/orders_helper.rb @@ -16,7 +16,7 @@ module Spree @order ||= order links = [] links << edit_order_link unless action_name == "edit" - links.concat(complete_order_links) if @order.complete? + links.concat(complete_order_links) if @order.complete? || @order.resumed? links << ship_order_link if @order.ready_to_ship? links << cancel_order_link if @order.can_cancel? links diff --git a/spec/helpers/spree/admin/orders_helper_spec.rb b/spec/helpers/spree/admin/orders_helper_spec.rb index 8d1384efa8..7c665425bf 100644 --- a/spec/helpers/spree/admin/orders_helper_spec.rb +++ b/spec/helpers/spree/admin/orders_helper_spec.rb @@ -19,6 +19,7 @@ describe Spree::Admin::OrdersHelper, type: :helper do allow(order).to receive(:complete?) { false } allow(order).to receive(:ready_to_ship?) { false } allow(order).to receive(:can_cancel?) { false } + allow(order).to receive(:resumed?) { false } Spree::Config[:enable_invoices?] = false Spree::Config[:enable_receipt_printing?] = false end @@ -71,11 +72,7 @@ describe Spree::Admin::OrdersHelper, type: :helper do end context "with invoices enabled" do - before do - Spree::Config[:enable_invoices?] = true - allow(order).to receive(:distributor) { distributor } - allow(distributor).to receive(:can_invoice?) { true } - end + before { enable_invoices } it "adds send and print invoice links" do links = helper.order_links(order) @@ -100,5 +97,35 @@ describe Spree::Admin::OrdersHelper, type: :helper do end end end + + context "resumed order" do + before { allow(order).to receive(:resumed?) { true } } + + it "includes a resend confirmation link" do + links = helper.order_links(order).map { |link| link[:name] } + + expect(links).to match_array(["Edit Order", "Resend Confirmation"]) + end + + context "with invoices enabled" do + before { enable_invoices } + + it "includes send invoice and print invoice links" do + links = helper.order_links(order).map { |link| link[:name] } + + expect(links).to match_array( + ["Edit Order", "Print Invoice", "Resend Confirmation", "Send Invoice"] + ) + end + end + end + end + + private + + def enable_invoices + Spree::Config[:enable_invoices?] = true + allow(order).to receive(:distributor) { distributor } + allow(distributor).to receive(:can_invoice?) { true } end end