Commit b1393db34f54670208108fcf8fda656eb6d29440
1 parent
bd63f775
Exists in
master
and in
29 other branches
Fix content viewer routes and associated tests
Showing
2 changed files
with
11 additions
and
12 deletions
Show diff stats
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 |