Enable delayed_job web interface for admins (#1967)
* Enable delayed_job web interface for admins * Fix delayed_job web interface spec descs
This commit is contained in:
parent
7f37d88ce7
commit
7e568921a8
3 changed files with 43 additions and 3 deletions
2
Gemfile
2
Gemfile
|
|
@ -35,6 +35,7 @@ gem "counter_culture", "~> 2.1"
|
|||
gem "csv_shaper", "~> 1.3"
|
||||
gem "dalli", "~> 2.7"
|
||||
gem "delayed_job_active_record", "~> 4.1"
|
||||
gem "delayed_job_web", "~> 1.4"
|
||||
gem "devise", "~> 4.6"
|
||||
gem "draper", "~> 3.0"
|
||||
gem "email_validator", "~> 1.6"
|
||||
|
|
@ -108,7 +109,6 @@ group :development do
|
|||
gem "brakeman", "~> 4.4", require: false
|
||||
gem "bullet", "~> 5.9"
|
||||
gem "bundler-audit", "~> 0.6"
|
||||
gem "delayed_job_web", "~> 1.4"
|
||||
gem "derailed_benchmarks", "~> 1.3"
|
||||
gem "guard", "~> 2.15", require: false
|
||||
gem "guard-livereload", "~> 2.5", require: false
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@ Rails.application.routes.draw do
|
|||
registrations: "registrations"
|
||||
}
|
||||
|
||||
if Rails.env.development?
|
||||
match "/delayed_job" => DelayedJobWeb, :anchor => false, :via => %i[get post]
|
||||
authenticated :user, ->(user) { user.admin? } do
|
||||
mount DelayedJobWeb, at: "/delayed_job"
|
||||
end
|
||||
|
||||
devise_scope :user do
|
||||
|
|
|
|||
40
spec/requests/delayed_job_spec.rb
Normal file
40
spec/requests/delayed_job_spec.rb
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
require "rails_helper"
|
||||
|
||||
RSpec.describe "Delayed Job web interface", type: :request do
|
||||
let(:user) { create(:user) }
|
||||
let(:super_admin) { create(:user, :super_admin) }
|
||||
let(:article) { create(:article, user_id: user.id) }
|
||||
|
||||
describe "GET /delayed_job" do
|
||||
context "when not logged in" do
|
||||
it "raises 404" do
|
||||
expect do
|
||||
get "/delayed_job"
|
||||
end.to raise_error(ActionController::RoutingError)
|
||||
end
|
||||
end
|
||||
|
||||
context "when logged in" do
|
||||
it "raises 404" do
|
||||
login_as user
|
||||
expect do
|
||||
get "/delayed_job"
|
||||
end.to raise_error(ActionController::RoutingError)
|
||||
end
|
||||
end
|
||||
|
||||
context "when logged in as a super admin" do
|
||||
before { login_as super_admin }
|
||||
|
||||
it "redirects to overview" do
|
||||
get "/delayed_job"
|
||||
expect(response).to redirect_to("/delayed_job/overview")
|
||||
end
|
||||
|
||||
it "renders overview" do
|
||||
get "/delayed_job/overview"
|
||||
expect(response.body).to include "Overview"
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
Loading…
Add table
Reference in a new issue