Adds an entry inside moderation section that allows moderators to check
pending tasks and mark them as solved.
This commit is contained in:
Juan Salvador Pérez García
2018-06-18 11:39:04 +02:00
parent 83f78b1940
commit 33b3431c70
27 changed files with 384 additions and 9 deletions

View File

@@ -0,0 +1,74 @@
# frozen_string_literal: true
require 'rails_helper'
describe 'Administrator tasks moderation' do
let(:moderator) { create(:moderator) }
before do
login_as moderator.user
end
context 'when accessing the pending task list' do
context 'and no pending task' do
before do
visit moderation_administrator_tasks_path
end
it 'informs that there are no pending tasks' do
expect(page).to have_content('There are no pending tasks')
end
end
context 'and there are pending tasks' do
let!(:task) { create :administrator_task, :pending }
before do
visit moderation_administrator_tasks_path
end
it 'shows the related proposal title' do
expect(page).to have_content(task.source.proposal.title)
end
it 'shows the requested action title' do
expect(page).to have_content(task.source.proposal_dashboard_action.title)
end
it 'has a link that allows solving the request' do
expect(page).to have_link('Solve')
end
end
end
context 'when solving a pending task' do
let!(:task) { create :administrator_task, :pending }
before do
visit moderation_administrator_tasks_path
click_link 'Solve'
end
it 'contains a link to the proposal' do
expect(page).to have_link('Check the proposal details')
end
it 'contains a button that solves the request' do
expect(page).to have_button('Mark as solved')
end
it 'shows the comments added by the user during the request' do
expect(page).to have_content(task.source.comments)
end
context 'and the Mark as solved button is pressed' do
before do
click_button 'Mark as solved'
end
it 'The proposal dissapears from the list' do
expect(page).not_to have_content(task.source.proposal.title)
end
end
end
end