Compare commits
2 Commits
big-admin-
...
big-admin-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ee873a2cbe | ||
|
|
f99d607a69 |
@@ -1,5 +1,5 @@
|
|||||||
class Admin::TaskRequestsController < Admin::ApplicationController
|
class Admin::TaskRequestsController < Admin::ApplicationController
|
||||||
before_action :set_task_request, only: [:edit, :update]
|
before_action :set_task_request, only: [:edit, :update, :show]
|
||||||
|
|
||||||
def index
|
def index
|
||||||
@task_requests = task_requests.order_by_recent.paginate(page: params[:page])
|
@task_requests = task_requests.order_by_recent.paginate(page: params[:page])
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
<div class="btn-group">
|
<div class="btn-group">
|
||||||
<%= button_tag "Manage", class: "btn btn-light btn-sm dropdown-toggle border", data: { toggle: "dropdown", boundary: "window" }, aria: { haspopup: true, expanded: false } %>
|
<%= button_tag "Manage", class: "btn btn-light btn-sm dropdown-toggle border", data: { toggle: "dropdown", boundary: "window" }, aria: { haspopup: true, expanded: false } %>
|
||||||
<div class="dropdown-menu dropdown-menu-right">
|
<div class="dropdown-menu dropdown-menu-right">
|
||||||
|
<%= link_to fa_icon("tasks", text: "View"), [:admin, task_request], class: "dropdown-item", target: '_blank' %>
|
||||||
<%= link_to fa_icon("pencil", text: "Edit"), [:edit, :admin, task_request], class: "dropdown-item" %>
|
<%= link_to fa_icon("pencil", text: "Edit"), [:edit, :admin, task_request], class: "dropdown-item" %>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
18
app/views/admin/task_requests/show.html.erb
Normal file
18
app/views/admin/task_requests/show.html.erb
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
<dl>
|
||||||
|
<%= description_list_pair_for @task_request, :description, append: ":" %>
|
||||||
|
<%= description_list_pair_for @task_request, :created_at, append: ":" %>
|
||||||
|
<%= description_list_pair_for @task_request, :deadline, append: ":" %>
|
||||||
|
<%= description_list_pair_for @task_request, :time_allowed, append: ":" %>
|
||||||
|
<%= description_list_pair_for @task_request, :additional_notes, append: ":" %>
|
||||||
|
<%= description_list_pair_for @task_request, :status, append: ":" %>
|
||||||
|
<dt>Files:</dt>
|
||||||
|
<dd>
|
||||||
|
<% if @task_request.files.present? %>
|
||||||
|
<% @task_request.files.each do |file| %>
|
||||||
|
<%= link_to file.filename, rails_blob_path(file, disposition: 'attachment'), class: "btn btn-link" %><br/>
|
||||||
|
<% end %>
|
||||||
|
<% else %>
|
||||||
|
No files attached
|
||||||
|
<% end %>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
@@ -31,7 +31,7 @@ Rails.application.routes.draw do
|
|||||||
resources :users, only: [:index, :new, :create, :edit, :update, :destroy] do
|
resources :users, only: [:index, :new, :create, :edit, :update, :destroy] do
|
||||||
resource :masquerade, only: :create
|
resource :masquerade, only: :create
|
||||||
end
|
end
|
||||||
resources :task_requests, only: [:index, :edit, :update]
|
resources :task_requests, only: [:index, :edit, :update, :show]
|
||||||
|
|
||||||
root to: "accounts#index", as: :signed_in_root
|
root to: "accounts#index", as: :signed_in_root
|
||||||
end
|
end
|
||||||
|
|||||||
61
spec/features/admin_managing_task_requests_spec.rb
Normal file
61
spec/features/admin_managing_task_requests_spec.rb
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
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 "admin should see View action for task request in Manage dropdown", js: true do
|
||||||
|
create(:task_request)
|
||||||
|
visit admin_task_requests_path
|
||||||
|
|
||||||
|
click_on 'Manage'
|
||||||
|
expect(page).to have_content 'View'
|
||||||
|
end
|
||||||
|
|
||||||
|
scenario "admin can open detail view of task request", js: true do
|
||||||
|
task_request = create(:task_request, :with_files)
|
||||||
|
visit admin_task_requests_path
|
||||||
|
|
||||||
|
click_on 'Manage'
|
||||||
|
click_link 'View'
|
||||||
|
switch_to_window(windows.last)
|
||||||
|
|
||||||
|
expect(page).to have_content 'Description'
|
||||||
|
expect(page).to have_content task_request.description
|
||||||
|
|
||||||
|
expect(page).to have_content 'Created At'
|
||||||
|
expect(page).to have_content task_request.created_at
|
||||||
|
|
||||||
|
expect(page).to have_content 'Deadline'
|
||||||
|
expect(page).to have_content task_request.deadline
|
||||||
|
|
||||||
|
expect(page).to have_content 'Time Allowed'
|
||||||
|
expect(page).to have_content task_request.time_allowed
|
||||||
|
|
||||||
|
expect(page).to have_content 'Additional Notes'
|
||||||
|
expect(page).to have_content task_request.additional_notes
|
||||||
|
|
||||||
|
expect(page).to have_content 'Status'
|
||||||
|
expect(page).to have_content task_request.status
|
||||||
|
|
||||||
|
expect(page).to have_content 'Files'
|
||||||
|
task_request.files.each do |file|
|
||||||
|
expect(page).to have_link file.blob.filename
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
scenario "no files attached label is shown if there are no files attached to the task request", js:true do
|
||||||
|
create(:task_request)
|
||||||
|
visit admin_task_requests_path
|
||||||
|
|
||||||
|
click_on 'Manage'
|
||||||
|
click_link 'View'
|
||||||
|
switch_to_window(windows.last)
|
||||||
|
|
||||||
|
expect(page).to have_content 'No files attached'
|
||||||
|
end
|
||||||
|
end
|
||||||
Reference in New Issue
Block a user