49 lines
1.5 KiB
Ruby
49 lines
1.5 KiB
Ruby
require "rails_helper"
|
|
|
|
feature "Admin managing task requests" do
|
|
let(:current_user) { create(:user, admin: true, email: "user@test.com") }
|
|
let(:project) { create(:project, account: current_user.primary_account, name: "Test Project") }
|
|
|
|
before do
|
|
sign_in current_user
|
|
end
|
|
|
|
scenario "task requests table is visible" do
|
|
visit admin_task_requests_path
|
|
|
|
expect(page).to have_content "Task ID"
|
|
expect(page).to have_content "Account Name"
|
|
expect(page).to have_content "Project Name"
|
|
expect(page).to have_content "Created On"
|
|
expect(page).to have_content "Deadline"
|
|
expect(page).to have_content "Time Allowed"
|
|
expect(page).to have_content "Status"
|
|
end
|
|
|
|
scenario "sees list of task requests" do
|
|
visit admin_task_requests_path
|
|
|
|
expect(page).to have_content no_task_requests_label
|
|
|
|
task_request = create(:task_request)
|
|
|
|
visit admin_task_requests_path
|
|
|
|
expect(page).not_to have_content no_task_requests_label
|
|
|
|
expect(page).to have_content task_request.id
|
|
expect(page).to have_content task_request.project.account.name
|
|
expect(page).to have_content task_request.project.name
|
|
expect(page).to have_content task_request.created_at.try(:strftime, '%D')
|
|
expect(page).to have_content task_request.deadline.try(:strftime, '%D')
|
|
expect(page).to have_content task_request.time_allowed
|
|
expect(page).to have_content task_request.status.capitalize
|
|
end
|
|
|
|
private
|
|
|
|
def no_task_requests_label
|
|
"Task requests will appear here"
|
|
end
|
|
end
|