66 lines
1.7 KiB
Ruby
66 lines
1.7 KiB
Ruby
require "rails_helper"
|
|
|
|
feature "Admin administrator tasks" do
|
|
let(:admin) { create :administrator }
|
|
|
|
before do
|
|
login_as(admin.user)
|
|
end
|
|
|
|
context "when visiting index" do
|
|
context "and no pending tasks" do
|
|
before do
|
|
visit admin_dashboard_administrator_tasks_path
|
|
end
|
|
|
|
scenario "shows that there are no records available" do
|
|
expect(page).to have_content("There are no pending tasks")
|
|
end
|
|
end
|
|
|
|
context "and actions defined" do
|
|
let!(:task) { create :dashboard_administrator_task, :pending }
|
|
|
|
before do
|
|
visit admin_dashboard_administrator_tasks_path
|
|
end
|
|
|
|
scenario "shows the task data" do
|
|
expect(page).to have_content(task.source.proposal.title)
|
|
expect(page).to have_content(task.source.action.title)
|
|
end
|
|
|
|
scenario "has a link that allows solving the request" do
|
|
expect(page).to have_link("Solve")
|
|
end
|
|
|
|
end
|
|
end
|
|
|
|
context "when solving a task" do
|
|
let!(:task) { create :dashboard_administrator_task, :pending }
|
|
|
|
before do
|
|
visit admin_dashboard_administrator_tasks_path
|
|
click_link "Solve"
|
|
end
|
|
|
|
scenario "Shows task details and link to proposal" do
|
|
expect(page).to have_link(task.source.proposal.title)
|
|
expect(page).to have_content(task.source.action.title)
|
|
end
|
|
|
|
scenario "contains a button that solves the request" do
|
|
expect(page).to have_button("Mark as solved")
|
|
end
|
|
|
|
scenario "After it is solved dissapears from the list" do
|
|
click_button "Mark as solved"
|
|
|
|
expect(page).not_to have_link(task.source.proposal.title)
|
|
expect(page).not_to have_content(task.source.action.title)
|
|
expect(page).to have_content("The task has been marked as solved")
|
|
end
|
|
end
|
|
end
|