Use the rails logger instead of Bugsnag

This commit is contained in:
Rob Harrington
2017-11-10 10:07:38 +11:00
parent f4f6fb6a7a
commit c20c9e2e78
2 changed files with 18 additions and 13 deletions

View File

@@ -42,19 +42,9 @@ class StandingOrderPlacementJob
end
def move_to_completion(order)
until order.completed?
unless order.next!
Bugsnag.notify(RuntimeError.new("StandingOrderPlacementError"), {
job: "StandingOrderPlacement",
error: "Cannot process order due to errors",
data: {
order_number: order.number,
errors: order.errors.full_messages
}
})
break
end
end
until order.completed? do order.next! end
rescue StateMachine::InvalidTransition
log_completion_issue(order)
end
def unavailable_stock_lines_for(order)
@@ -73,4 +63,10 @@ class StandingOrderPlacementJob
def send_empty_email(order, changes)
Spree::OrderMailer.standing_order_email(order.id, 'empty', changes).deliver
end
def log_completion_issue(order)
line1 = "StandingOrderPlacementError: Cannot process order #{order.number} due to errors"
line2 = "Errors: #{order.errors.full_messages.join(", ")}"
Rails.logger.info("#{line1}\n#{line2}")
end
end

View File

@@ -166,6 +166,15 @@ describe StandingOrderPlacementJob do
expect{job.send(:process, order)}.to_not enqueue_job ConfirmOrderJob
expect(job).to have_received(:send_placement_email).with(order, anything).once
end
context "when progression of the order fails" do
before { allow(order).to receive(:next) { false } }
it "logs an error" do
expect(Rails.logger).to receive(:info)
job.send(:process, order)
end
end
end
end
end