Allows moderators to hide proposals from index

This commit is contained in:
kikito
2015-09-13 14:39:20 +02:00
parent 7cf6f0ad15
commit 356f1c29ce
3 changed files with 52 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
App.ModeratorProposals =
add_class_faded: (id) ->
$("##{id}").addClass("faded")
$("#comments").addClass("faded")
hide_moderator_actions: (id) ->
$("##{id} .js-moderator-proposals-actions:first").hide()

View File

@@ -0,0 +1,6 @@
class Moderation::ProposalsController < Moderation::BaseController
load_and_authorize_resource
def hide
@proposal.hide
end
end

View File

@@ -0,0 +1,38 @@
require 'rails_helper'
feature 'Moderate proposals' do
scenario 'Hide', :js do
citizen = create(:user)
moderator = create(:moderator)
proposal = create(:proposal)
login_as(moderator.user)
visit proposal_path(proposal)
within("#proposal_#{proposal.id}") do
click_link 'Hide'
end
expect(page).to have_css("#proposal_#{proposal.id}.faded")
login_as(citizen)
visit proposals_path
expect(page).to have_css('.proposal', count: 0)
end
scenario 'Can not hide own proposal' do
moderator = create(:moderator)
proposal = create(:proposal, author: moderator.user)
login_as(moderator.user)
visit proposal_path(proposal)
within("#proposal_#{proposal.id}") do
expect(page).to_not have_link('Hide')
expect(page).to_not have_link('Block author')
end
end
end