Commit b1393db34f54670208108fcf8fda656eb6d29440

Authored by Antonio Terceiro
1 parent bd63f775

Fix content viewer routes and associated tests

config/routes.rb
@@ -125,11 +125,10 @@ Noosfero::Application.routes.draw do @@ -125,11 +125,10 @@ Noosfero::Application.routes.draw do
125 match ':profile/edit_comment/:id/*page', :controller => 'content_viewer', :action => 'edit_comment', :profile => /#{Noosfero.identifier_format}/ 125 match ':profile/edit_comment/:id/*page', :controller => 'content_viewer', :action => 'edit_comment', :profile => /#{Noosfero.identifier_format}/
126 126
127 # match requests for profiles that don't have a custom domain 127 # match requests for profiles that don't have a custom domain
128 - #FIXME probably this route is wrong  
129 - match ':profile/*page', :controller => 'content_viewer', :action => 'view_page', :profile => /#{Noosfero.identifier_format}/, :conditions => { :if => lambda { |env| !Domain.hosting_profile_at(env[:host]) } } 128 + match ':profile(/*page)', :controller => 'content_viewer', :action => 'view_page', :profile => /#{Noosfero.identifier_format}/, :constraints => EnvironmentDomainConstraint.new
130 129
131 130
132 # match requests for content in domains hosted for profiles 131 # match requests for content in domains hosted for profiles
133 match '*page', :controller => 'content_viewer', :action => 'view_page' 132 match '*page', :controller => 'content_viewer', :action => 'view_page'
134 133
135 -end  
136 \ No newline at end of file 134 \ No newline at end of file
  135 +end
test/integration/routing_test.rb
@@ -160,35 +160,35 @@ class RoutingTest < ActionController::IntegrationTest @@ -160,35 +160,35 @@ class RoutingTest < ActionController::IntegrationTest
160 160
161 def test_hosted_domain_routing 161 def test_hosted_domain_routing
162 user = create_user('testuser').person 162 user = create_user('testuser').person
163 - domain = Domain.create!(:name => 'example.com', :owner => user) 163 + domain = Domain.new(:name => 'example.com').tap { |d| d.owner = user; d.save! }
164 164
165 - ActionController::TestRequest.any_instance.expects(:host).returns('www.example.com') 165 + ActionDispatch::Request.any_instance.stubs(:host).returns('www.example.com')
166 166
167 - assert_routing('/work/free-software', :controller => 'content_viewer', :action => 'view_page', :page => [ 'work', 'free-software'] ) 167 + assert_routing('/work/free-software', :controller => 'content_viewer', :action => 'view_page', :page => 'work/free-software' )
168 end 168 end
169 169
170 def test_root_of_hosted_domain 170 def test_root_of_hosted_domain
171 user = create_user('testuser').person 171 user = create_user('testuser').person
172 - domain = Domain.create!(:name => 'example.com', :owner => user) 172 + domain = Domain.new(:name => 'example.com').tap { |d| d.owner = user; d.save! }
173 173
174 - ActionController::TestRequest.any_instance.expects(:host).returns('www.example.com') 174 + ActionDispatch::Request.any_instance.stubs(:host).returns('www.example.com')
175 175
176 assert_routing('', :controller => 'content_viewer', :action => 'view_page', :page => []) 176 assert_routing('', :controller => 'content_viewer', :action => 'view_page', :page => [])
177 end 177 end
178 178
179 def test_profile_under_hosted_domain 179 def test_profile_under_hosted_domain
180 community = Community.create!(:identifier => 'testcomm', :name => "test community") 180 community = Community.create!(:identifier => 'testcomm', :name => "test community")
181 - domain = Domain.create!(:name => 'example.com', :owner => community) 181 + domain = Domain.new(:name => 'example.com').tap { |d| d.owner = community; d.save! }
182 182
183 - ActionController::TestRequest.any_instance.expects(:host).returns('www.example.com') 183 + ActionDispatch::Request.any_instance.stubs(:host).returns('www.example.com')
184 184
185 assert_routing('/profile/testcomm/refuse_for_now', :controller => 'profile', :action => 'refuse_for_now', :profile => 'testcomm') 185 assert_routing('/profile/testcomm/refuse_for_now', :controller => 'profile', :action => 'refuse_for_now', :profile => 'testcomm')
186 end 186 end
187 187
188 def test_must_not_route_as_profile_hosted_domain_for_domains_registered_for_environments 188 def test_must_not_route_as_profile_hosted_domain_for_domains_registered_for_environments
189 environment = Environment.default 189 environment = Environment.default
190 - domain = Domain.create!(:name => 'example.com', :owner => environment)  
191 - ActionController::TestRequest.any_instance.expects(:host).returns('www.example.com') 190 + domain = Domain.new(:name => 'example.com').tap { |d| d.owner = environment; d.save! }
  191 + ActionDispatch::Request.any_instance.stubs(:host).returns('www.example.com')
192 192
193 assert_routing('/', :controller => 'home', :action => 'index') 193 assert_routing('/', :controller => 'home', :action => 'index')
194 end 194 end