Files
nairobi/spec/system/admin/dashboard/administrator_tasks_spec.rb
Javi Martín 9427f01442 Use system specs instead of feature specs
We get rid of database cleaner, and JavaScript tests are faster because
between tests we now rollback transactions instead of truncating the
database.
2020-04-24 15:43:54 +02:00

73 lines
2.0 KiB
Ruby

require "rails_helper"
describe "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 resources requested")
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 appears on solved filter" 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")
within("#filter-subnav") do
click_link "Solved"
end
expect(page).to have_content(task.source.proposal.title)
expect(page).to have_content(task.source.action.title)
expect(page).not_to have_link("Solve")
end
end
end