diff options
Diffstat (limited to 'spec/controllers')
-rw-r--r-- | spec/controllers/comment_controller_spec.rb | 2 | ||||
-rw-r--r-- | spec/controllers/general_controller_spec.rb | 2 | ||||
-rw-r--r-- | spec/controllers/public_body_controller_spec.rb | 22 | ||||
-rw-r--r-- | spec/controllers/request_controller_spec.rb | 36 | ||||
-rw-r--r-- | spec/controllers/track_controller_spec.rb | 6 | ||||
-rw-r--r-- | spec/controllers/user_controller_spec.rb | 8 |
6 files changed, 54 insertions, 22 deletions
diff --git a/spec/controllers/comment_controller_spec.rb b/spec/controllers/comment_controller_spec.rb index 5e250f689..480c85ad7 100644 --- a/spec/controllers/comment_controller_spec.rb +++ b/spec/controllers/comment_controller_spec.rb @@ -26,7 +26,7 @@ describe CommentController, "when commenting on a request" do post :new, params post_redirect = PostRedirect.get_last_post_redirect response.should redirect_to(:controller => 'user', :action => 'signin', :token => post_redirect.token) - # post_redirect.post_params.should == params # XXX get this working. there's a : vs '' problem amongst others + # post_redirect.post_params.should == params # TODO: get this working. there's a : vs '' problem amongst others end it "should create the comment, and redirect to request page when input is good and somebody is logged in" do diff --git a/spec/controllers/general_controller_spec.rb b/spec/controllers/general_controller_spec.rb index 7590a5b42..c0a9d57d3 100644 --- a/spec/controllers/general_controller_spec.rb +++ b/spec/controllers/general_controller_spec.rb @@ -188,7 +188,7 @@ describe GeneralController, 'when using xapian search' do it 'should highlight words for a user-only request' do get :search, :combined => "bob/users" - assigns[:highlight_words].should == ['bob'] + assigns[:highlight_words].should == [/\b(bob)\w*\b/iu, /\b(bob)\b/iu] end it 'should show spelling corrections for a user-only request' do diff --git a/spec/controllers/public_body_controller_spec.rb b/spec/controllers/public_body_controller_spec.rb index 63989baaa..f64975580 100644 --- a/spec/controllers/public_body_controller_spec.rb +++ b/spec/controllers/public_body_controller_spec.rb @@ -184,6 +184,11 @@ describe PublicBodyController, "when listing bodies" do assigns[:public_bodies].should == [ public_bodies(:geraldine_public_body) ] end + it "should support simple searching of bodies by short_name" do + get :list, :public_body_query => 'DfH' + assigns[:public_bodies].should == [ public_bodies(:humpadink_public_body) ] + end + it "should support simple searching of bodies by notes" do get :list, :public_body_query => 'Albatross' assigns[:public_bodies].should == [ public_bodies(:humpadink_public_body) ] @@ -287,6 +292,23 @@ describe PublicBodyController, "when asked to export public bodies as CSV" do all_data[1].length.should == 11 end + it "only includes visible bodies" do + get :list_all_csv + all_data = CSV.parse(response.body) + all_data.any?{ |row| row.include?('Internal admin authority') }.should be_false + end + + it "does not include site_administration bodies" do + FactoryGirl.create(:public_body, + :name => 'Site Admin Body', + :tag_string => 'site_administration') + + get :list_all_csv + + all_data = CSV.parse(response.body) + all_data.any?{ |row| row.include?('Site Admin Body') }.should be_false + end + end describe PublicBodyController, "when showing public body statistics" do diff --git a/spec/controllers/request_controller_spec.rb b/spec/controllers/request_controller_spec.rb index 9353efcb3..f7c935af3 100644 --- a/spec/controllers/request_controller_spec.rb +++ b/spec/controllers/request_controller_spec.rb @@ -77,7 +77,7 @@ describe RequestController, "when changing things that appear on the request pag PurgeRequest.all().count.should == 0 end it "should purge the downstream cache when censor rules have changed" do - # XXX really, CensorRules should execute expiry logic as part + # TODO: really, CensorRules should execute expiry logic as part # of the after_save of the model. Currently this is part of # the AdminCensorRuleController logic, so must be tested from # there. Leaving this stub test in place as a reminder @@ -643,7 +643,7 @@ describe RequestController, "when showing one request" do ir = info_requests(:fancy_dog_request) receive_incoming_mail('incoming-request-two-same-name.email', ir.incoming_email) - # XXX this is horrid, but don't know a better way. If we + # TODO: this is horrid, but don't know a better way. If we # don't do this, the info_request_event to which the # info_request is attached still uses the unmodified # version from the fixture. @@ -900,7 +900,7 @@ describe RequestController, "when handling prominence" do end -# XXX do this for invalid ids +# TODO: do this for invalid ids # it "should render 404 file" do # response.should render_template("#{Rails.root}/public/404.html") # response.headers["Status"].should == "404 Not Found" @@ -923,7 +923,6 @@ describe RequestController, "when searching for an authority" do end it "should return matching bodies" do - session[:user_id] = @user.id get :select_authority, :query => "Quango" @@ -1004,7 +1003,18 @@ describe RequestController, "when creating a new request" do post :new, params post_redirect = PostRedirect.get_last_post_redirect response.should redirect_to(:controller => 'user', :action => 'signin', :token => post_redirect.token) - # post_redirect.post_params.should == params # XXX get this working. there's a : vs '' problem amongst others + # post_redirect.post_params.should == params # TODO: get this working. there's a : vs '' problem amongst others + end + + it 'redirects to the frontpage if the action is sent the invalid + public_body param' do + post :new, :info_request => { :public_body => @body.id, + :title => 'Why Geraldine?', + :tag_string => '' }, + :outgoing_message => { :body => 'This is a silly letter.' }, + :submitted_new_request => 1, + :preview => 1 + response.should redirect_to frontpage_url end it "should show preview when input is good" do @@ -1793,7 +1803,7 @@ describe RequestController, "when sending a followup message" do session[:user_id] = users(:bob_smith_user).id post :show_response, :outgoing_message => { :body => "", :what_doing => 'normal_sort'}, :id => info_requests(:fancy_dog_request).id, :incoming_message_id => incoming_messages(:useless_incoming_message), :submitted_followup => 1 - # XXX how do I check the error message here? + # TODO: how do I check the error message here? response.should render_template('show_response') end @@ -1843,13 +1853,13 @@ describe RequestController, "when sending a followup message" do # second time should give an error post :show_response, :outgoing_message => { :body => "Stop repeating yourself!", :what_doing => 'normal_sort' }, :id => info_requests(:fancy_dog_request).id, :incoming_message_id => incoming_messages(:useless_incoming_message), :submitted_followup => 1 - # XXX how do I check the error message here? + # TODO: how do I check the error message here? response.should render_template('show_response') end end -# XXX Stuff after here should probably be in request_mailer_spec.rb - but then +# TODO: Stuff after here should probably be in request_mailer_spec.rb - but then # it can't check the URLs in the emails I don't think, ugh. describe RequestController, "sending overdue request alerts" do @@ -1878,7 +1888,7 @@ describe RequestController, "sending overdue request alerts" do mail_token = $2 session[:user_id].should be_nil - controller.test_code_redirect_by_email_token(mail_token, self) # XXX hack to avoid having to call User controller for email link + controller.test_code_redirect_by_email_token(mail_token, self) # TODO: hack to avoid having to call User controller for email link session[:user_id].should == info_requests(:naughty_chicken_request).user.id response.should render_template('show_response') @@ -1935,7 +1945,7 @@ describe RequestController, "sending overdue request alerts" do mail_token = $2 session[:user_id].should be_nil - controller.test_code_redirect_by_email_token(mail_token, self) # XXX hack to avoid having to call User controller for email link + controller.test_code_redirect_by_email_token(mail_token, self) # TODO: hack to avoid having to call User controller for email link session[:user_id].should == info_requests(:naughty_chicken_request).user.id response.should render_template('show_response') @@ -2017,12 +2027,12 @@ describe RequestController, "sending unclassified new response reminder alerts" mail_token = $2 session[:user_id].should be_nil - controller.test_code_redirect_by_email_token(mail_token, self) # XXX hack to avoid having to call User controller for email link + controller.test_code_redirect_by_email_token(mail_token, self) # TODO: hack to avoid having to call User controller for email link session[:user_id].should == info_requests(:fancy_dog_request).user.id response.should render_template('show') assigns[:info_request].should == info_requests(:fancy_dog_request) - # XXX should check anchor tag here :) that it goes to last new response + # TODO: should check anchor tag here :) that it goes to last new response end end @@ -2053,7 +2063,7 @@ describe RequestController, "clarification required alerts" do mail_token = $2 session[:user_id].should be_nil - controller.test_code_redirect_by_email_token(mail_token, self) # XXX hack to avoid having to call User controller for email link + controller.test_code_redirect_by_email_token(mail_token, self) # TODO: hack to avoid having to call User controller for email link session[:user_id].should == info_requests(:fancy_dog_request).user.id response.should render_template('show_response') diff --git a/spec/controllers/track_controller_spec.rb b/spec/controllers/track_controller_spec.rb index d2b45b6bf..29f5c7fe1 100644 --- a/spec/controllers/track_controller_spec.rb +++ b/spec/controllers/track_controller_spec.rb @@ -122,11 +122,11 @@ describe TrackController, "when sending alerts for a track" do mail.body.should =~ /This a the daftest comment the world has ever seen/ # comment text included # Check subscription managing link -# XXX We can't do this, as it is redirecting to another controller. I'm +# TODO: We can't do this, as it is redirecting to another controller. I'm # apparently meant to be writing controller unit tests here, not functional # tests. Bah, I so don't care, bit of an obsessive constraint. # session[:user_id].should be_nil -# controller.test_code_redirect_by_email_token(mail_token, self) # XXX hack to avoid having to call User controller for email link +# controller.test_code_redirect_by_email_token(mail_token, self) # TODO: hack to avoid having to call User controller for email link # session[:user_id].should == users(:silly_name_user).id # # response.should render_template('users/show') @@ -173,7 +173,7 @@ describe TrackController, "when viewing RSS feed for a track" do get :track_request, :feed => 'feed', :url_title => track_thing.info_request.url_title response.should render_template('track/atom_feed') response.content_type.should == 'application/atom+xml' - # XXX should check it is an atom.builder type being rendered, not sure how to + # TODO: should check it is an atom.builder type being rendered, not sure how to assigns[:xapian_object].matches_estimated.should == 3 assigns[:xapian_object].results.size.should == 3 diff --git a/spec/controllers/user_controller_spec.rb b/spec/controllers/user_controller_spec.rb index cf361d898..6ecdf1ad4 100644 --- a/spec/controllers/user_controller_spec.rb +++ b/spec/controllers/user_controller_spec.rb @@ -1,7 +1,7 @@ # coding: utf-8 require File.expand_path(File.dirname(__FILE__) + '/../spec_helper') -# XXX Use route_for or params_from to check /c/ links better +# TODO: Use route_for or params_from to check /c/ links better # http://rspec.rubyforge.org/rspec-rails/1.1.12/classes/Spec/Rails/Example/ControllerExampleGroup.html describe UserController, "when redirecting a show request to a canonical url" do @@ -327,7 +327,7 @@ describe UserController, "when signing up" do deliveries[0].body.should match(/when\s+you\s+already\s+have\s+an/) end - # XXX need to do bob@localhost signup and check that sends different email + # TODO: need to do bob@localhost signup and check that sends different email end describe UserController, "when signing out" do @@ -380,7 +380,7 @@ describe UserController, "when sending another user a message" do mail = deliveries[0] mail.body.should include("Bob Smith has used #{AlaveteliConfiguration::site_name} to send you the message below") mail.body.should include("Just a test!") - #mail.to_addrs.first.to_s.should == users(:silly_name_user).name_and_email # XXX fix some nastiness with quoting name_and_email + #mail.to_addrs.first.to_s.should == users(:silly_name_user).name_and_email # TODO: fix some nastiness with quoting name_and_email mail.from_addrs.first.to_s.should == users(:bob_smith_user).email end @@ -651,7 +651,7 @@ describe UserController, "when using profile photos" do @user.profile_photo.should_not be_nil end - # XXX todo check the two stage javascript cropping (above only tests one stage non-javascript one) + # TODO: todo check the two stage javascript cropping (above only tests one stage non-javascript one) end describe UserController, "when showing JSON version for API" do |