diff --git a/config/routes.rb b/config/routes.rb index 38491bd..18fa2f9 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -125,11 +125,10 @@ Noosfero::Application.routes.draw do match ':profile/edit_comment/:id/*page', :controller => 'content_viewer', :action => 'edit_comment', :profile => /#{Noosfero.identifier_format}/ # match requests for profiles that don't have a custom domain - #FIXME probably this route is wrong - match ':profile/*page', :controller => 'content_viewer', :action => 'view_page', :profile => /#{Noosfero.identifier_format}/, :conditions => { :if => lambda { |env| !Domain.hosting_profile_at(env[:host]) } } + match ':profile(/*page)', :controller => 'content_viewer', :action => 'view_page', :profile => /#{Noosfero.identifier_format}/, :constraints => EnvironmentDomainConstraint.new # match requests for content in domains hosted for profiles match '*page', :controller => 'content_viewer', :action => 'view_page' -end \ No newline at end of file +end diff --git a/test/integration/routing_test.rb b/test/integration/routing_test.rb index f3b5ff0..eb0fac3 100644 --- a/test/integration/routing_test.rb +++ b/test/integration/routing_test.rb @@ -160,35 +160,35 @@ class RoutingTest < ActionController::IntegrationTest def test_hosted_domain_routing user = create_user('testuser').person - domain = Domain.create!(:name => 'example.com', :owner => user) + domain = Domain.new(:name => 'example.com').tap { |d| d.owner = user; d.save! } - ActionController::TestRequest.any_instance.expects(:host).returns('www.example.com') + ActionDispatch::Request.any_instance.stubs(:host).returns('www.example.com') - assert_routing('/work/free-software', :controller => 'content_viewer', :action => 'view_page', :page => [ 'work', 'free-software'] ) + assert_routing('/work/free-software', :controller => 'content_viewer', :action => 'view_page', :page => 'work/free-software' ) end def test_root_of_hosted_domain user = create_user('testuser').person - domain = Domain.create!(:name => 'example.com', :owner => user) + domain = Domain.new(:name => 'example.com').tap { |d| d.owner = user; d.save! } - ActionController::TestRequest.any_instance.expects(:host).returns('www.example.com') + ActionDispatch::Request.any_instance.stubs(:host).returns('www.example.com') assert_routing('', :controller => 'content_viewer', :action => 'view_page', :page => []) end def test_profile_under_hosted_domain community = Community.create!(:identifier => 'testcomm', :name => "test community") - domain = Domain.create!(:name => 'example.com', :owner => community) + domain = Domain.new(:name => 'example.com').tap { |d| d.owner = community; d.save! } - ActionController::TestRequest.any_instance.expects(:host).returns('www.example.com') + ActionDispatch::Request.any_instance.stubs(:host).returns('www.example.com') assert_routing('/profile/testcomm/refuse_for_now', :controller => 'profile', :action => 'refuse_for_now', :profile => 'testcomm') end def test_must_not_route_as_profile_hosted_domain_for_domains_registered_for_environments environment = Environment.default - domain = Domain.create!(:name => 'example.com', :owner => environment) - ActionController::TestRequest.any_instance.expects(:host).returns('www.example.com') + domain = Domain.new(:name => 'example.com').tap { |d| d.owner = environment; d.save! } + ActionDispatch::Request.any_instance.stubs(:host).returns('www.example.com') assert_routing('/', :controller => 'home', :action => 'index') end -- libgit2 0.21.2