From: Shaun McDonald Date: Tue, 11 Nov 2008 18:07:59 +0000 (+0000) Subject: more diary entry tests, and a minor fix to the relation member that makes the code... X-Git-Tag: live~7601^2~159 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/995c9df1958a9f2333748179fe276bc9886b8a86?ds=sidebyside more diary entry tests, and a minor fix to the relation member that makes the code a bit more readable. --- diff --git a/app/models/relation_member.rb b/app/models/relation_member.rb index 1cb6d7131..f3033d1c6 100644 --- a/app/models/relation_member.rb +++ b/app/models/relation_member.rb @@ -10,7 +10,7 @@ class RelationMember < ActiveRecord::Base end def after_initialize - self[:member_class] = self.member_type.capitalize if !self.member_type.nil? + self[:member_class] = self.member_type.capitalize unless self.member_type.nil? end def before_save diff --git a/test/functional/diary_entry_controller_test.rb b/test/functional/diary_entry_controller_test.rb index 31c62fe9f..ca9ce4c36 100644 --- a/test/functional/diary_entry_controller_test.rb +++ b/test/functional/diary_entry_controller_test.rb @@ -17,28 +17,20 @@ class DiaryEntryControllerTest < ActionController::TestCase assert_redirected_to :controller => :user, :action => "login", :referer => "/diary_entry/new" # Now pretend to login by using the session hash, with the # id of the person we want to login as through session(:user)=user.id - - # get(:new, nil, {'user' => users(:normal_user).id}) assert_response :success - - # can't really redirect to the - #follow_redirect - # Now login - #post :login, :user_email => "test@openstreetmap.org", :user_password => "test" - - #get :controller => :users, :action => :new - #assert_response :success + #print @response.body + #print @response.to_yaml - #assert_select "html" do - # assert_select "body" do - # assert_select "div#content" do - # assert_select "form" do - # assert_select "input[id=diary_entry_title]" - # end - # end - # end - #end + assert_select "html" do + assert_select "body" do + assert_select "div#content" do + assert_select "form" do + assert_select "input[id=diary_entry_title]" + end + end + end + end end diff --git a/test/integration/user_diaries_test.rb b/test/integration/user_diaries_test.rb index 7ec743804..02908e18d 100644 --- a/test/integration/user_diaries_test.rb +++ b/test/integration/user_diaries_test.rb @@ -1,28 +1,43 @@ -require 'test_helper' +require File.dirname(__FILE__) + '/../test_helper' class UserDiariesTest < ActionController::IntegrationTest fixtures :users, :diary_entries def test_showing_create_diary_entry - get '/user/test/diary/new' - assert_response 302 - assert_redirected_to :controller => :user, :action => "login", :referer => "/user/test/diary/new" - #follow_redirect - # Now login - #post :login, :user_email => "test@openstreetmap.org", :user_password => "test" - # - #get :controller => :users, :action => :new - #assert_response :success - #print @response.to_yaml - #assert_select "html" do - # assert_select "body" do - # assert_select "div#content" do - # assert_select "form" do - # assert_select "input[id=diary_entry_title]" - # end - # end - # end - #end - + get_via_redirect '/user/test/diary/new' + # We should now be at the login page + assert_response :success + assert_template 'user/login' + # We can now login + post '/login', {'user[email]' => "test@openstreetmap.org", 'user[password]' => "test", :referer => '/user/test/diary/new'} + assert_response :redirect + #print @response.body + # Check that there is some payload alerting the user to the redirect + # and allowing them to get to the page they are being directed to + assert_select "html:root" do + assert_select "body" do + assert_select "a[href='http://www.example.com/user/test/diary/new']" + end + end + # Required due to a bug in the rails testing framework + # http://markmail.org/message/wnslvi5xv5moqg7g + @html_document = nil + follow_redirect! + + assert_response :success + assert_template 'diary_entry/edit' + #print @response.body + #print @html_document.to_yaml + + assert_select "html:root" do + assert_select "body" do + assert_select "div#content" do + assert_select "h1", "New diary entry" + assert_select "form" do + assert_select "input[id=diary_entry_title]" + end + end + end + end end end