{ :path => "/history/feed", :method => :get },
{ :controller => "changesets", :action => "feed", :format => :atom }
)
- assert_routing(
- { :path => "/changeset/1/subscribe", :method => :get },
- { :controller => "changesets", :action => "subscribe", :id => "1" }
- )
- assert_routing(
- { :path => "/changeset/1/subscribe", :method => :post },
- { :controller => "changesets", :action => "subscribe", :id => "1" }
- )
- assert_routing(
- { :path => "/changeset/1/unsubscribe", :method => :get },
- { :controller => "changesets", :action => "unsubscribe", :id => "1" }
- )
- assert_routing(
- { :path => "/changeset/1/unsubscribe", :method => :post },
- { :controller => "changesets", :action => "unsubscribe", :id => "1" }
- )
end
##
check_index_result(changesets.last(20))
end
+ ##
+ # This should report an error
+ def test_index_invalid_xhr
+ %w[-1 0 fred].each do |id|
+ get history_path(:format => "html", :list => "1", :max_id => id)
+ assert_redirected_to :controller => :errors, :action => :bad_request
+ end
+ end
+
##
# This should display the last 20 changesets closed in a specific area
def test_index_bbox
# Checks the display of the friends changesets listing
def test_index_friends
private_user = create(:user, :data_public => true)
- friendship = create(:friendship, :befriender => private_user)
- changeset = create(:changeset, :user => friendship.befriendee, :num_changes => 1)
+ follow = create(:follow, :follower => private_user)
+ changeset = create(:changeset, :user => follow.following, :num_changes => 1)
_changeset2 = create(:changeset, :user => create(:user), :num_changes => 1)
get friend_changesets_path
assert_redirected_to :action => :feed
end
- def test_subscribe_page
- user = create(:user)
- other_user = create(:user)
- changeset = create(:changeset, :user => user)
- path = subscribe_changeset_path(changeset)
-
- get path
- assert_redirected_to login_path(:referer => path)
-
- session_for(other_user)
- get path
- assert_response :success
- assert_dom ".content-body" do
- assert_dom "a[href='#{changeset_path(changeset)}']", :text => "Changeset #{changeset.id}"
- assert_dom "a[href='#{user_path(user)}']", :text => user.display_name
- end
- end
-
- def test_subscribe_success
- user = create(:user)
- other_user = create(:user)
- changeset = create(:changeset, :user => user)
-
- session_for(other_user)
- assert_difference "changeset.subscribers.count", 1 do
- post subscribe_changeset_path(changeset)
- end
- assert_redirected_to changeset_path(changeset)
- assert changeset.reload.subscribed?(other_user)
- end
-
- def test_subscribe_fail
- user = create(:user)
- other_user = create(:user)
-
- changeset = create(:changeset, :user => user)
-
- # not signed in
- assert_no_difference "changeset.subscribers.count" do
- post subscribe_changeset_path(changeset)
- end
- assert_response :forbidden
-
- session_for(other_user)
-
- # bad diary id
- post subscribe_changeset_path(999111)
- assert_response :not_found
-
- # trying to subscribe when already subscribed
- post subscribe_changeset_path(changeset)
- assert_no_difference "changeset.subscribers.count" do
- post subscribe_changeset_path(changeset)
- end
- end
-
- def test_unsubscribe_page
- user = create(:user)
- other_user = create(:user)
- changeset = create(:changeset, :user => user)
- path = unsubscribe_changeset_path(changeset)
-
- get path
- assert_redirected_to login_path(:referer => path)
-
- session_for(other_user)
- get path
- assert_response :success
- assert_dom ".content-body" do
- assert_dom "a[href='#{changeset_path(changeset)}']", :text => "Changeset #{changeset.id}"
- assert_dom "a[href='#{user_path(user)}']", :text => user.display_name
- end
- end
-
- def test_unsubscribe_success
- user = create(:user)
- other_user = create(:user)
-
- changeset = create(:changeset, :user => user)
- changeset.subscribers.push(other_user)
-
- session_for(other_user)
- assert_difference "changeset.subscribers.count", -1 do
- post unsubscribe_changeset_path(changeset)
- end
- assert_redirected_to changeset_path(changeset)
- assert_not changeset.reload.subscribed?(other_user)
- end
-
- def test_unsubscribe_fail
- user = create(:user)
- other_user = create(:user)
-
- changeset = create(:changeset, :user => user)
-
- # not signed in
- assert_no_difference "changeset.subscribers.count" do
- post unsubscribe_changeset_path(changeset)
- end
- assert_response :forbidden
-
- session_for(other_user)
-
- # bad diary id
- post unsubscribe_changeset_path(999111)
- assert_response :not_found
-
- # trying to unsubscribe when not subscribed
- assert_no_difference "changeset.subscribers.count" do
- post unsubscribe_changeset_path(changeset)
- end
- end
-
private
##