diff --git a/rails_application/app/controllers/application_controller.rb b/rails_application/app/controllers/application_controller.rb index 5f557a67..2a070e7f 100644 --- a/rails_application/app/controllers/application_controller.rb +++ b/rails_application/app/controllers/application_controller.rb @@ -6,4 +6,8 @@ def event_store def command_bus Rails.configuration.command_bus end + + def not_found + render file: "#{Rails.root}/public/404.html", layout: false, status: :not_found + end end diff --git a/rails_application/app/controllers/invoices_controller.rb b/rails_application/app/controllers/invoices_controller.rb index bae493b2..77ee10ee 100644 --- a/rails_application/app/controllers/invoices_controller.rb +++ b/rails_application/app/controllers/invoices_controller.rb @@ -1,6 +1,7 @@ class InvoicesController < ApplicationController def show @invoice = Invoices::Invoice.find_by_order_uid(params[:id]) + not_found unless @invoice end def create diff --git a/rails_application/app/controllers/orders_controller.rb b/rails_application/app/controllers/orders_controller.rb index 005355a6..d07da1fe 100644 --- a/rails_application/app/controllers/orders_controller.rb +++ b/rails_application/app/controllers/orders_controller.rb @@ -132,7 +132,4 @@ def capture_payment_cmd(order_id) Payments::CapturePayment.new(order_id: order_id) end - def not_found - render file: "#{Rails.root}/public/404.html", layout: false, status: :not_found - end end diff --git a/rails_application/test/integration/orders_test.rb b/rails_application/test/integration/orders_test.rb index 6725d0d9..4f6bb4a2 100644 --- a/rails_application/test/integration/orders_test.rb +++ b/rails_application/test/integration/orders_test.rb @@ -91,11 +91,6 @@ def test_expiring_orders assert_select("td", "Expired") end - def test_order_not_found - get "/orders/123" - assert_response :not_found - end - def test_cancel shopify_id = register_customer("Shopify") diff --git a/rails_application/test/integration/routing_404_test.rb b/rails_application/test/integration/routing_404_test.rb new file mode 100644 index 00000000..ced60178 --- /dev/null +++ b/rails_application/test/integration/routing_404_test.rb @@ -0,0 +1,15 @@ +require "test_helper" + +class MissingResourcesTest < InMemoryRESIntegrationTestCase + + + def test_order_not_found + get "/orders/123" + assert_response :not_found + end + + def test_invoice_not_found + get "/invoices/123" + assert_response :not_found + end +end