Sha256: 460f40f234a34e3727187a42759cd19d9cc45d77479e9697e0ea0a88fd89464a

Contents?: true

Size: 988 Bytes

Versions: 1

Compression:

Stored size: 988 Bytes

Contents

module RailsConnector
  module CmsTestRequest # :nodoc:
    def for_cms_object(test_obj=nil)
      # prepare the env as if the given obj was loaded by CmsEnv
      env[RailsConnector::CmsEnv::OBJ_ENV_KEY] = test_obj if test_obj
      class << self
        # This special behaviour is necessary for testing controllers that descend from DefaultCmsController.
        # These controllers do not have explicit routes by default.
        # Instead, they are reached via the CmsDispatchController.
        # The TestRequest must therefore use CmsDispatchController as a fallback route.
        def assign_parameters(routes, controller_path, action, parameters = {})
          super(routes, controller_path, action, parameters)
        rescue ActionController::RoutingError=> e
          begin
            super(routes, "rails_connector/cms_dispatch", action, parameters)
          rescue ActionController::RoutingError
            raise e
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
infopark_rails_connector-6.8.0.beta.200.621.4c8e1b0 lib/rails_connector/cms_test_request.rb