From: Tom Hughes Date: Wed, 19 Oct 2016 11:22:42 +0000 (+0100) Subject: Merge remote-tracking branch 'openstreetmap/pull/1332' X-Git-Tag: live~3716 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/99ccffe4a9c0521d1202c4f0f1a37f8ef2dc0634?hp=43066124bfe1d5be9c52259a3f58364f67ea06dc Merge remote-tracking branch 'openstreetmap/pull/1332' --- diff --git a/db/structure.sql b/db/structure.sql index 5e9b74195..63af3304d 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -2,8 +2,8 @@ -- PostgreSQL database dump -- --- Dumped from database version 9.5.3 --- Dumped by pg_dump version 9.5.3 +-- Dumped from database version 9.5.4 +-- Dumped by pg_dump version 9.5.4 SET statement_timeout = 0; SET lock_timeout = 0; @@ -549,6 +549,8 @@ CREATE SEQUENCE diary_entries_id_seq ALTER SEQUENCE diary_entries_id_seq OWNED BY diary_entries.id; + +-- -- Name: diary_entry_subscriptions; Type: TABLE; Schema: public; Owner: - -- @@ -1844,11 +1846,13 @@ CREATE UNIQUE INDEX index_changesets_subscribers_on_subscriber_id_and_changeset_ CREATE UNIQUE INDEX index_client_applications_on_key ON client_applications USING btree (key); +-- -- Name: index_diary_entry_subscriptions_on_diary_entry_id; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX index_diary_entry_subscriptions_on_diary_entry_id ON diary_entry_subscriptions USING btree (diary_entry_id); + -- -- Name: index_note_comments_on_body; Type: INDEX; Schema: public; Owner: - -- @@ -2233,8 +2237,8 @@ ALTER TABLE ONLY diary_entries ADD CONSTRAINT diary_entries_user_id_fkey FOREIGN KEY (user_id) REFERENCES users(id); --- Name: diary_entry_subscriptions_diary_entry_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- +-- Name: diary_entry_subscriptions_diary_entry_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY diary_entry_subscriptions @@ -2571,8 +2575,6 @@ INSERT INTO schema_migrations (version) VALUES ('20121203124841'); INSERT INTO schema_migrations (version) VALUES ('20130328184137'); -INSERT INTO schema_migrations (version) VALUES ('20131029121300'); - INSERT INTO schema_migrations (version) VALUES ('20131212124700'); INSERT INTO schema_migrations (version) VALUES ('20140115192822'); @@ -2593,6 +2595,10 @@ INSERT INTO schema_migrations (version) VALUES ('20150222101847'); INSERT INTO schema_migrations (version) VALUES ('20150818224516'); +INSERT INTO schema_migrations (version) VALUES ('20161002153425'); + +INSERT INTO schema_migrations (version) VALUES ('20161011010929'); + INSERT INTO schema_migrations (version) VALUES ('21'); INSERT INTO schema_migrations (version) VALUES ('22'); @@ -2680,3 +2686,4 @@ INSERT INTO schema_migrations (version) VALUES ('7'); INSERT INTO schema_migrations (version) VALUES ('8'); INSERT INTO schema_migrations (version) VALUES ('9'); + diff --git a/test/controllers/amf_controller_test.rb b/test/controllers/amf_controller_test.rb index 09b88e98f..7c8c64ba0 100644 --- a/test/controllers/amf_controller_test.rb +++ b/test/controllers/amf_controller_test.rb @@ -460,6 +460,7 @@ class AmfControllerTest < ActionController::TestCase assert_equal -1, result[0] assert_match /must be logged in/, result[1] + create(:user_block, :user => users(:blocked_user)) amf_content "findgpx", "/1", [1, "blocked@openstreetmap.org:test"] post :amf_read assert_response :success diff --git a/test/controllers/diary_entry_controller_test.rb b/test/controllers/diary_entry_controller_test.rb index d926f2656..6ab40e189 100644 --- a/test/controllers/diary_entry_controller_test.rb +++ b/test/controllers/diary_entry_controller_test.rb @@ -213,7 +213,7 @@ class DiaryEntryControllerTest < ActionController::TestCase end def test_edit - entry = create(:diary_entry, :user_id => users(:normal_user).id) + entry = create(:diary_entry, :user => users(:normal_user)) # Make sure that you are redirected to the login page when you are # not logged in, without and with the id of the entry you want to edit @@ -317,7 +317,7 @@ class DiaryEntryControllerTest < ActionController::TestCase end def test_comment - entry = create(:diary_entry, :user_id => users(:normal_user).id) + entry = create(:diary_entry, :user => users(:normal_user)) # Make sure that you are denied when you are not logged in post :comment, :display_name => entry.user.display_name, :id => entry.id @@ -377,7 +377,7 @@ class DiaryEntryControllerTest < ActionController::TestCase def test_comment_spammy # Find the entry to comment on - entry = create(:diary_entry, :user_id => users(:normal_user).id) + entry = create(:diary_entry, :user => users(:normal_user)) post :subscribe, { :id => entry.id, :display_name => entry.user.display_name }, { :user => users(:normal_user).id } # Generate some spammy content @@ -417,7 +417,7 @@ class DiaryEntryControllerTest < ActionController::TestCase def test_list_all diary_entry = create(:diary_entry) geo_entry = create(:diary_entry, :latitude => 51.50763, :longitude => -0.10781) - public_entry = create(:diary_entry, :user_id => users(:public_user).id) + public_entry = create(:diary_entry, :user => users(:public_user)) # Try a list of all diary entries get :list @@ -425,9 +425,9 @@ class DiaryEntryControllerTest < ActionController::TestCase end def test_list_user - diary_entry = create(:diary_entry, :user_id => users(:normal_user).id) - geo_entry = create(:diary_entry, :user_id => users(:normal_user).id, :latitude => 51.50763, :longitude => -0.10781) - _other_entry = create(:diary_entry, :user_id => users(:public_user).id) + diary_entry = create(:diary_entry, :user => users(:normal_user)) + geo_entry = create(:diary_entry, :user => users(:normal_user), :latitude => 51.50763, :longitude => -0.10781) + _other_entry = create(:diary_entry, :user => users(:public_user)) # Try a list of diary entries for a valid user get :list, :display_name => users(:normal_user).display_name @@ -440,9 +440,9 @@ class DiaryEntryControllerTest < ActionController::TestCase end def test_list_friends - friend = create(:friend, :user_id => users(:normal_user).id) - diary_entry = create(:diary_entry, :user_id => friend.friend_user_id) - _other_entry = create(:diary_entry, :user_id => users(:second_public_user).id) + friend = create(:friend, :befriender => users(:normal_user)) + diary_entry = create(:diary_entry, :user => friend.befriendee) + _other_entry = create(:diary_entry, :user => users(:second_public_user)) # Try a list of diary entries for your friends when not logged in get :list, :friends => true @@ -457,7 +457,7 @@ class DiaryEntryControllerTest < ActionController::TestCase end def test_list_nearby - diary_entry = create(:diary_entry, :user_id => users(:public_user).id) + diary_entry = create(:diary_entry, :user => users(:public_user)) # Try a list of diary entries for nearby users when not logged in get :list, :nearby => true @@ -529,9 +529,9 @@ class DiaryEntryControllerTest < ActionController::TestCase end def test_rss_user - create(:diary_entry, :user_id => users(:normal_user).id) - create(:diary_entry, :user_id => users(:normal_user).id) - create(:diary_entry, :user_id => users(:public_user).id) + create(:diary_entry, :user => users(:normal_user)) + create(:diary_entry, :user => users(:normal_user)) + create(:diary_entry, :user => users(:public_user)) get :rss, :display_name => users(:normal_user).display_name, :format => :rss assert_response :success, "Should be able to get a specific users diary RSS" @@ -554,23 +554,23 @@ class DiaryEntryControllerTest < ActionController::TestCase def test_view # Try a normal entry that should work - diary_entry = create(:diary_entry, :user_id => users(:normal_user).id) + diary_entry = create(:diary_entry, :user => users(:normal_user)) get :view, :display_name => users(:normal_user).display_name, :id => diary_entry.id assert_response :success assert_template :view # Try a deleted entry - diary_entry_deleted = create(:diary_entry, :user_id => users(:normal_user).id, :visible => false) + diary_entry_deleted = create(:diary_entry, :user => users(:normal_user), :visible => false) get :view, :display_name => users(:normal_user).display_name, :id => diary_entry_deleted.id assert_response :not_found # Try an entry by a suspended user - diary_entry_suspended = create(:diary_entry, :user_id => users(:suspended_user).id) + diary_entry_suspended = create(:diary_entry, :user => users(:suspended_user)) get :view, :display_name => users(:suspended_user).display_name, :id => diary_entry_suspended.id assert_response :not_found # Try an entry by a deleted user - diary_entry_deleted = create(:diary_entry, :user_id => users(:deleted_user).id) + diary_entry_deleted = create(:diary_entry, :user => users(:deleted_user)) get :view, :display_name => users(:deleted_user).display_name, :id => diary_entry_deleted.id assert_response :not_found end @@ -579,8 +579,8 @@ class DiaryEntryControllerTest < ActionController::TestCase # Get a diary entry that has hidden comments diary_entry = create(:diary_entry) visible_comment = create(:diary_comment, :diary_entry => diary_entry) - suspended_user_comment = create(:diary_comment, :diary_entry => diary_entry, :user_id => users(:suspended_user).id) - deleted_user_comment = create(:diary_comment, :diary_entry => diary_entry, :user_id => users(:deleted_user).id) + suspended_user_comment = create(:diary_comment, :diary_entry => diary_entry, :user => users(:suspended_user)) + deleted_user_comment = create(:diary_comment, :diary_entry => diary_entry, :user => users(:deleted_user)) hidden_comment = create(:diary_comment, :diary_entry => diary_entry, :visible => false) get :view, :display_name => users(:normal_user).display_name, :id => diary_entry.id @@ -615,7 +615,7 @@ class DiaryEntryControllerTest < ActionController::TestCase end def test_hidecomment - diary_entry = create(:diary_entry, :user_id => users(:normal_user).id) + diary_entry = create(:diary_entry, :user => users(:normal_user)) diary_comment = create(:diary_comment, :diary_entry => diary_entry) # Try without logging in post :hidecomment, :display_name => users(:normal_user).display_name, :id => diary_entry.id, :comment => diary_comment.id @@ -645,7 +645,7 @@ class DiaryEntryControllerTest < ActionController::TestCase end # Test a user with a comment - create(:diary_comment, :user_id => users(:public_user).id) + create(:diary_comment, :user => users(:public_user)) get :comments, :display_name => users(:public_user).display_name assert_response :success @@ -664,7 +664,7 @@ class DiaryEntryControllerTest < ActionController::TestCase end def test_subscribe_success - diary_entry = create(:diary_entry, :user_id => users(:normal_user).id) + diary_entry = create(:diary_entry, :user => users(:normal_user)) assert_difference "diary_entry.subscribers.count", 1 do post :subscribe, { :id => diary_entry.id, :display_name => diary_entry.user.display_name }, { :user => users(:public_user).id } @@ -673,7 +673,7 @@ class DiaryEntryControllerTest < ActionController::TestCase end def test_subscribe_fail - diary_entry = create(:diary_entry, :user_id => users(:normal_user).id) + diary_entry = create(:diary_entry, :user => users(:normal_user)) # not signed in assert_no_difference "diary_entry.subscribers.count" do @@ -693,7 +693,7 @@ class DiaryEntryControllerTest < ActionController::TestCase end def test_unsubscribe_success - diary_entry = create(:diary_entry, :user_id => users(:normal_user).id) + diary_entry = create(:diary_entry, :user => users(:normal_user)) post :subscribe, { :id => diary_entry.id, :display_name => diary_entry.user.display_name }, { :user => users(:public_user).id } assert_difference "diary_entry.subscribers.count", -1 do @@ -703,7 +703,7 @@ class DiaryEntryControllerTest < ActionController::TestCase end def test_unsubscribe_fail - diary_entry = create(:diary_entry, :user_id => users(:normal_user).id) + diary_entry = create(:diary_entry, :user => users(:normal_user)) # not signed in assert_no_difference "diary_entry.subscribers.count" do diff --git a/test/controllers/notes_controller_test.rb b/test/controllers/notes_controller_test.rb index e846bbd6a..2203dcb60 100644 --- a/test/controllers/notes_controller_test.rb +++ b/test/controllers/notes_controller_test.rb @@ -245,8 +245,8 @@ class NotesControllerTest < ActionController::TestCase # Ensure that emails are sent to users note_with_comments_by_users = create(:note) do |note| - create(:note_comment, :note => note, :author_id => users(:normal_user).id) - create(:note_comment, :note => note, :author_id => users(:second_public_user).id) + create(:note_comment, :note => note, :author => users(:normal_user)) + create(:note_comment, :note => note, :author => users(:second_public_user)) end assert_difference "NoteComment.count", 1 do assert_difference "ActionMailer::Base.deliveries.size", 2 do @@ -934,13 +934,13 @@ class NotesControllerTest < ActionController::TestCase def test_mine_success create(:note) do |note| - create(:note_comment, :note => note, :author_id => users(:normal_user).id) + create(:note_comment, :note => note, :author => users(:normal_user)) end create(:note) do |note| - create(:note_comment, :note => note, :author_id => users(:second_public_user).id) + create(:note_comment, :note => note, :author => users(:second_public_user)) end create(:note, :status => "hidden") do |note| - create(:note_comment, :note => note, :author_id => users(:second_public_user).id) + create(:note_comment, :note => note, :author => users(:second_public_user)) end # Note that the table rows include a header row diff --git a/test/controllers/user_blocks_controller_test.rb b/test/controllers/user_blocks_controller_test.rb index 839dadf19..b7dcf755b 100644 --- a/test/controllers/user_blocks_controller_test.rb +++ b/test/controllers/user_blocks_controller_test.rb @@ -1,7 +1,7 @@ require "test_helper" class UserBlocksControllerTest < ActionController::TestCase - fixtures :users, :user_roles, :user_blocks + fixtures :users, :user_roles ## # test all routes which lead to this controller @@ -61,20 +61,27 @@ class UserBlocksControllerTest < ActionController::TestCase ## # test the index action def test_index - # The list of blocks should load + active_block = create(:user_block) + expired_block = create(:user_block, :expired) + revoked_block = create(:user_block, :revoked) + get :index assert_response :success assert_select "table#block_list", :count => 1 do assert_select "tr", 4 - assert_select "a[href='#{user_block_path(user_blocks(:active_block))}']", 1 - assert_select "a[href='#{user_block_path(user_blocks(:expired_block))}']", 1 - assert_select "a[href='#{user_block_path(user_blocks(:revoked_block))}']", 1 + assert_select "a[href='#{user_block_path(active_block)}']", 1 + assert_select "a[href='#{user_block_path(expired_block)}']", 1 + assert_select "a[href='#{user_block_path(revoked_block)}']", 1 end end ## # test the show action def test_show + active_block = create(:user_block, :needs_view) + expired_block = create(:user_block, :expired) + revoked_block = create(:user_block, :revoked) + # Viewing a block should fail when no ID is given assert_raise ActionController::UrlGenerationError do get :show @@ -87,25 +94,25 @@ class UserBlocksControllerTest < ActionController::TestCase assert_select "p", "Sorry, the user block with ID 99999 could not be found." # Viewing an expired block should work - get :show, :id => user_blocks(:expired_block) + get :show, :id => expired_block.id assert_response :success # Viewing a revoked block should work - get :show, :id => user_blocks(:revoked_block) + get :show, :id => revoked_block.id assert_response :success # Viewing an active block should work, but shouldn't mark it as seen - get :show, :id => user_blocks(:active_block) + get :show, :id => active_block.id assert_response :success - assert_equal true, UserBlock.find(user_blocks(:active_block).id).needs_view + assert_equal true, UserBlock.find(active_block.id).needs_view # Login as the blocked user - session[:user] = users(:blocked_user).id + session[:user] = active_block.user.id # Now viewing it should mark it as seen - get :show, :id => user_blocks(:active_block) + get :show, :id => active_block.id assert_response :success - assert_equal false, UserBlock.find(user_blocks(:active_block).id).needs_view + assert_equal false, UserBlock.find(active_block.id).needs_view end ## @@ -153,15 +160,17 @@ class UserBlocksControllerTest < ActionController::TestCase ## # test the edit action def test_edit + active_block = create(:user_block) + # Check that the block edit page requires us to login - get :edit, :id => user_blocks(:active_block).id - assert_redirected_to login_path(:referer => edit_user_block_path(:id => user_blocks(:active_block).id)) + get :edit, :id => active_block.id + assert_redirected_to login_path(:referer => edit_user_block_path(:id => active_block.id)) # Login as a normal user session[:user] = users(:public_user).id # Check that normal users can't load the block edit page - get :edit, :id => user_blocks(:active_block).id + get :edit, :id => active_block.id assert_redirected_to user_blocks_path assert_equal "You need to be a moderator to perform that action.", flash[:error] @@ -169,9 +178,9 @@ class UserBlocksControllerTest < ActionController::TestCase session[:user] = users(:moderator_user).id # Check that the block edit page loads for moderators - get :edit, :id => user_blocks(:active_block).id + get :edit, :id => active_block.id assert_response :success - assert_select "form#edit_user_block_#{user_blocks(:active_block).id}", :count => 1 do + assert_select "form#edit_user_block_#{active_block.id}", :count => 1 do assert_select "textarea#user_block_reason", :count => 1 assert_select "select#user_block_period", :count => 1 assert_select "input#user_block_needs_view[type='checkbox']", :count => 1 @@ -251,15 +260,17 @@ class UserBlocksControllerTest < ActionController::TestCase ## # test the update action def test_update + active_block = create(:user_block, :creator => users(:moderator_user)) + # Not logged in yet, so updating a block should fail - put :update, :id => user_blocks(:active_block).id + put :update, :id => active_block.id assert_response :forbidden # Login as a normal user session[:user] = users(:public_user).id # Check that normal users can't update blocks - put :update, :id => user_blocks(:active_block).id + put :update, :id => active_block.id assert_response :forbidden # Login as the wrong moderator @@ -268,11 +279,11 @@ class UserBlocksControllerTest < ActionController::TestCase # Check that only the person who created a block can update it assert_no_difference "UserBlock.count" do put :update, - :id => user_blocks(:active_block).id, + :id => active_block.id, :user_block_period => "12", :user_block => { :needs_view => true, :reason => "Vandalism" } end - assert_redirected_to edit_user_block_path(:id => user_blocks(:active_block).id) + assert_redirected_to edit_user_block_path(:id => active_block.id) assert_equal "Only the moderator who created this block can edit it.", flash[:error] # Login as the correct moderator @@ -281,22 +292,22 @@ class UserBlocksControllerTest < ActionController::TestCase # A bogus block period should result in an error assert_no_difference "UserBlock.count" do put :update, - :id => user_blocks(:active_block).id, + :id => active_block.id, :user_block_period => "99" end - assert_redirected_to edit_user_block_path(:id => user_blocks(:active_block).id) + assert_redirected_to edit_user_block_path(:id => active_block.id) assert_equal "The blocking period must be one of the values selectable in the drop-down list.", flash[:error] # Check that updating a block works assert_no_difference "UserBlock.count" do put :update, - :id => user_blocks(:active_block).id, + :id => active_block.id, :user_block_period => "12", :user_block => { :needs_view => true, :reason => "Vandalism" } end - assert_redirected_to user_block_path(:id => user_blocks(:active_block).id) + assert_redirected_to user_block_path(:id => active_block.id) assert_equal "Block updated.", flash[:notice] - b = UserBlock.find(user_blocks(:active_block).id) + b = UserBlock.find(active_block.id) assert_in_delta Time.now, b.updated_at, 1 assert_equal true, b.needs_view assert_equal "Vandalism", b.reason @@ -316,15 +327,17 @@ class UserBlocksControllerTest < ActionController::TestCase ## # test the revoke action def test_revoke + active_block = create(:user_block) + # Check that the block revoke page requires us to login - get :revoke, :id => user_blocks(:active_block).id - assert_redirected_to login_path(:referer => revoke_user_block_path(:id => user_blocks(:active_block).id)) + get :revoke, :id => active_block.id + assert_redirected_to login_path(:referer => revoke_user_block_path(:id => active_block.id)) # Login as a normal user session[:user] = users(:public_user).id # Check that normal users can't load the block revoke page - get :revoke, :id => user_blocks(:active_block).id + get :revoke, :id => active_block.id assert_redirected_to user_blocks_path assert_equal "You need to be a moderator to perform that action.", flash[:error] @@ -332,7 +345,7 @@ class UserBlocksControllerTest < ActionController::TestCase session[:user] = users(:moderator_user).id # Check that the block revoke page loads for moderators - get :revoke, :id => user_blocks(:active_block).id + get :revoke, :id => active_block.id assert_response :success assert_template "revoke" assert_select "form", :count => 1 do @@ -341,9 +354,9 @@ class UserBlocksControllerTest < ActionController::TestCase end # Check that revoking a block works - post :revoke, :id => user_blocks(:active_block).id, :confirm => true - assert_redirected_to user_block_path(:id => user_blocks(:active_block).id) - b = UserBlock.find(user_blocks(:active_block).id) + post :revoke, :id => active_block.id, :confirm => true + assert_redirected_to user_block_path(:id => active_block.id) + b = UserBlock.find(active_block.id) assert_in_delta Time.now, b.ends_at, 1 # We should get an error if no block ID is specified @@ -361,6 +374,10 @@ class UserBlocksControllerTest < ActionController::TestCase ## # test the blocks_on action def test_blocks_on + active_block = create(:user_block, :user => users(:blocked_user)) + revoked_block = create(:user_block, :revoked, :user => users(:blocked_user)) + expired_block = create(:user_block, :expired, :user => users(:unblocked_user)) + # Asking for a list of blocks with no user name should fail assert_raise ActionController::UrlGenerationError do get :blocks_on @@ -383,8 +400,8 @@ class UserBlocksControllerTest < ActionController::TestCase assert_response :success assert_select "table#block_list", :count => 1 do assert_select "tr", 3 - assert_select "a[href='#{user_block_path(user_blocks(:active_block))}']", 1 - assert_select "a[href='#{user_block_path(user_blocks(:revoked_block))}']", 1 + assert_select "a[href='#{user_block_path(active_block)}']", 1 + assert_select "a[href='#{user_block_path(revoked_block)}']", 1 end # Check the list of blocks for a user that has previously been blocked @@ -392,13 +409,17 @@ class UserBlocksControllerTest < ActionController::TestCase assert_response :success assert_select "table#block_list", :count => 1 do assert_select "tr", 2 - assert_select "a[href='#{user_block_path(user_blocks(:expired_block))}']", 1 + assert_select "a[href='#{user_block_path(expired_block)}']", 1 end end ## # test the blocks_by action def test_blocks_by + active_block = create(:user_block, :creator => users(:moderator_user)) + expired_block = create(:user_block, :expired, :creator => users(:second_moderator_user)) + revoked_block = create(:user_block, :revoked, :creator => users(:second_moderator_user)) + # Asking for a list of blocks with no user name should fail assert_raise ActionController::UrlGenerationError do get :blocks_by @@ -415,7 +436,7 @@ class UserBlocksControllerTest < ActionController::TestCase assert_response :success assert_select "table#block_list", :count => 1 do assert_select "tr", 2 - assert_select "a[href='#{user_block_path(user_blocks(:active_block))}']", 1 + assert_select "a[href='#{user_block_path(active_block)}']", 1 end # Check the list of blocks given by a different moderator @@ -423,8 +444,8 @@ class UserBlocksControllerTest < ActionController::TestCase assert_response :success assert_select "table#block_list", :count => 1 do assert_select "tr", 3 - assert_select "a[href='#{user_block_path(user_blocks(:expired_block))}']", 1 - assert_select "a[href='#{user_block_path(user_blocks(:revoked_block))}']", 1 + assert_select "a[href='#{user_block_path(expired_block)}']", 1 + assert_select "a[href='#{user_block_path(revoked_block)}']", 1 end # Check the list of blocks (not) given by a normal user diff --git a/test/controllers/user_controller_test.rb b/test/controllers/user_controller_test.rb index 6a5fca785..14bea6374 100644 --- a/test/controllers/user_controller_test.rb +++ b/test/controllers/user_controller_test.rb @@ -924,6 +924,7 @@ class UserControllerTest < ActionController::TestCase end # Test a user who has been blocked + create(:user_block, :user => users(:blocked_user)) get :view, :display_name => "blocked" assert_response :success assert_select "div#userinformation" do @@ -938,6 +939,7 @@ class UserControllerTest < ActionController::TestCase end # Test a moderator who has applied blocks + create(:user_block, :creator => users(:moderator_user)) get :view, :display_name => "moderator" assert_response :success assert_select "div#userinformation" do @@ -1191,7 +1193,7 @@ class UserControllerTest < ActionController::TestCase # Get users to work with user = users(:normal_user) friend = users(:public_user) - create(:friend, :user_id => user.id, :friend_user_id => friend.id) + create(:friend, :befriender => user, :befriendee => friend) # Check that the users are friends assert Friend.where(:user_id => user.id, :friend_user_id => friend.id).first diff --git a/test/factories/user_blocks.rb b/test/factories/user_blocks.rb new file mode 100644 index 000000000..b73e599b8 --- /dev/null +++ b/test/factories/user_blocks.rb @@ -0,0 +1,25 @@ +FactoryGirl.define do + factory :user_block do + sequence(:reason) { |n| "User Block #{n}" } + ends_at Time.now + 1.day + + # FIXME: requires User factory + user_id 13 + + # FIXME: requires User factory + creator_id 15 + + trait :needs_view do + needs_view true + end + + trait :expired do + ends_at Time.now - 1.day + end + + trait :revoked do + # FIXME: requires User factory + revoker_id 5 + end + end +end diff --git a/test/fixtures/user_blocks.yml b/test/fixtures/user_blocks.yml deleted file mode 100644 index 0566d3085..000000000 --- a/test/fixtures/user_blocks.yml +++ /dev/null @@ -1,29 +0,0 @@ -active_block: - id: 1 - user_id: 13 - creator_id: 5 - reason: "Active block" - reason_format: "markdown" - ends_at: "2032-05-01 11:22:33" - needs_view: true - revoker_id: - -expired_block: - id: 2 - user_id: 14 - creator_id: 15 - reason: "Expired block" - reason_format: "markdown" - ends_at: "2012-05-01 11:22:33" - needs_view: false - revoker_id: - -revoked_block: - id: 3 - user_id: 13 - creator_id: 15 - reason: "Revoked block" - reason_format: "markdown" - ends_at: "2012-05-01 11:22:33" - needs_view: false - revoker_id: 1 diff --git a/test/integration/user_blocks_test.rb b/test/integration/user_blocks_test.rb index fcf008c07..9425c690f 100644 --- a/test/integration/user_blocks_test.rb +++ b/test/integration/user_blocks_test.rb @@ -1,7 +1,7 @@ require "test_helper" class UserBlocksTest < ActionDispatch::IntegrationTest - fixtures :users, :user_blocks, :user_roles + fixtures :users, :user_roles def auth_header(user, pass) { "HTTP_AUTHORIZATION" => format("Basic %s", Base64.encode64("#{user}:#{pass}")) } diff --git a/test/integration/user_login_test.rb b/test/integration/user_login_test.rb index c13dbfaab..5652955c7 100644 --- a/test/integration/user_login_test.rb +++ b/test/integration/user_login_test.rb @@ -1,7 +1,7 @@ require "test_helper" class UserLoginTest < ActionDispatch::IntegrationTest - fixtures :users, :user_blocks + fixtures :users def setup OmniAuth.config.test_mode = true @@ -129,6 +129,7 @@ class UserLoginTest < ActionDispatch::IntegrationTest def test_login_email_password_blocked user = users(:blocked_user) + create(:user_block, :needs_view, :user => user) try_password_login user.email, "test" @@ -138,6 +139,7 @@ class UserLoginTest < ActionDispatch::IntegrationTest def test_login_email_password_blocked_upcase user = users(:blocked_user) + create(:user_block, :needs_view, :user => user) try_password_login user.email.upcase, "test" @@ -147,6 +149,7 @@ class UserLoginTest < ActionDispatch::IntegrationTest def test_login_email_password_blocked_titlecase user = users(:blocked_user) + create(:user_block, :needs_view, :user => user) try_password_login user.email.titlecase, "test" @@ -267,6 +270,7 @@ class UserLoginTest < ActionDispatch::IntegrationTest def test_login_username_password_blocked user = users(:blocked_user) + create(:user_block, :needs_view, :user => user) try_password_login user.display_name.upcase, "test" @@ -276,6 +280,7 @@ class UserLoginTest < ActionDispatch::IntegrationTest def test_login_username_password_blocked_upcase user = users(:blocked_user) + create(:user_block, :needs_view, :user => user) try_password_login user.display_name, "test" @@ -285,6 +290,7 @@ class UserLoginTest < ActionDispatch::IntegrationTest def test_login_username_password_blocked_titlecase user = users(:blocked_user) + create(:user_block, :needs_view, :user => user) try_password_login user.display_name.titlecase, "test" diff --git a/test/models/diary_comment_test.rb b/test/models/diary_comment_test.rb index aa03dc66c..aeb054a02 100644 --- a/test/models/diary_comment_test.rb +++ b/test/models/diary_comment_test.rb @@ -1,6 +1,8 @@ require "test_helper" class DiaryCommentTest < ActiveSupport::TestCase + fixtures :users, :languages + test "body must be present" do comment = build(:diary_comment, :body => "") assert_not comment.valid? diff --git a/test/models/diary_entry_test.rb b/test/models/diary_entry_test.rb index 5586b74d2..958ca403f 100644 --- a/test/models/diary_entry_test.rb +++ b/test/models/diary_entry_test.rb @@ -1,6 +1,8 @@ require "test_helper" class DiaryEntryTest < ActiveSupport::TestCase + fixtures :users, :languages + def test_diary_entry_validations diary_entry_valid({}) diary_entry_valid({ :title => "" }, false) diff --git a/test/models/note_test.rb b/test/models/note_test.rb index 6525ee5f6..d4bd36e74 100644 --- a/test/models/note_test.rb +++ b/test/models/note_test.rb @@ -54,7 +54,7 @@ class NoteTest < ActiveSupport::TestCase comment = create(:note_comment) assert_nil comment.note.author - comment = create(:note_comment, :author_id => users(:normal_user).id) + comment = create(:note_comment, :author => users(:normal_user)) assert_equal users(:normal_user), comment.note.author end diff --git a/test/models/user_test.rb b/test/models/user_test.rb index 5de5db326..275e95d6c 100644 --- a/test/models/user_test.rb +++ b/test/models/user_test.rb @@ -106,7 +106,7 @@ class UserTest < ActiveSupport::TestCase end def test_friend_with - create(:friend, :user_id => users(:normal_user).id, :friend_user_id => users(:public_user).id) + create(:friend, :befriender => users(:normal_user), :befriendee => users(:public_user)) assert users(:normal_user).is_friends_with?(users(:public_user)) assert !users(:normal_user).is_friends_with?(users(:inactive_user)) assert !users(:public_user).is_friends_with?(users(:normal_user)) @@ -133,7 +133,7 @@ class UserTest < ActiveSupport::TestCase # it should be a one way friend associatation norm = users(:normal_user) sec = users(:public_user) - create(:friend, :user_id => norm.id, :friend_user_id => sec.id) + create(:friend, :befriender => norm, :befriendee => sec) assert_equal 1, Friend.count assert_equal [sec], norm.friend_users assert_equal 1, norm.friend_users.size diff --git a/test/test_helper.rb b/test/test_helper.rb index e3d9f0ff8..0cf7c4afb 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -13,7 +13,7 @@ module ActiveSupport # Load standard fixtures needed to test API methods def self.api_fixtures # print "setting up the api_fixtures" - fixtures :users, :user_roles, :user_blocks + fixtures :users, :user_roles fixtures :changesets, :changeset_tags fixtures :current_nodes, :nodes