Add specs to check for dis/enabled registrations
This commit is contained in:
parent
6cc8ebcba3
commit
4e5b0a8562
|
@ -15,14 +15,15 @@ describe User::RegistrationsController, type: :controller do
|
||||||
justask_admin retrospring_admin admin justask retrospring
|
justask_admin retrospring_admin admin justask retrospring
|
||||||
moderation moderator mod administrator siteadmin site_admin
|
moderation moderator mod administrator siteadmin site_admin
|
||||||
help retro_spring retroospring retrosprlng
|
help retro_spring retroospring retrosprlng
|
||||||
]
|
],
|
||||||
})
|
},)
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "#create" do
|
describe "#create" do
|
||||||
context "valid user sign up" do
|
context "valid user sign up" do
|
||||||
before do
|
before do
|
||||||
allow(APP_CONFIG).to receive(:dig).with(:hcaptcha, :enabled).and_return(true)
|
allow(APP_CONFIG).to receive(:dig).with(:hcaptcha, :enabled).and_return(true)
|
||||||
|
allow(APP_CONFIG).to receive(:dig).with(:features, :registration, :enabled).and_return(true)
|
||||||
allow(controller).to receive(:verify_hcaptcha).and_return(captcha_successful)
|
allow(controller).to receive(:verify_hcaptcha).and_return(captcha_successful)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -32,8 +33,8 @@ describe User::RegistrationsController, type: :controller do
|
||||||
screen_name: "dio",
|
screen_name: "dio",
|
||||||
email: "the-world-21@somewhere.everywhere.now",
|
email: "the-world-21@somewhere.everywhere.now",
|
||||||
password: "AReallySecurePassword456!",
|
password: "AReallySecurePassword456!",
|
||||||
password_confirmation: "AReallySecurePassword456!"
|
password_confirmation: "AReallySecurePassword456!",
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -59,6 +60,7 @@ describe User::RegistrationsController, type: :controller do
|
||||||
context "invalid user sign up" do
|
context "invalid user sign up" do
|
||||||
before do
|
before do
|
||||||
allow(APP_CONFIG).to receive(:dig).with(:hcaptcha, :enabled).and_return(false)
|
allow(APP_CONFIG).to receive(:dig).with(:hcaptcha, :enabled).and_return(false)
|
||||||
|
allow(APP_CONFIG).to receive(:dig).with(:features, :registration, :enabled).and_return(true)
|
||||||
end
|
end
|
||||||
|
|
||||||
subject { post :create, params: registration_params }
|
subject { post :create, params: registration_params }
|
||||||
|
@ -70,8 +72,8 @@ describe User::RegistrationsController, type: :controller do
|
||||||
screen_name: "",
|
screen_name: "",
|
||||||
email: "",
|
email: "",
|
||||||
password: "",
|
password: "",
|
||||||
password_confirmation: ""
|
password_confirmation: "",
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -87,8 +89,8 @@ describe User::RegistrationsController, type: :controller do
|
||||||
screen_name: "Dio Brando",
|
screen_name: "Dio Brando",
|
||||||
email: "the-world-21@somewhere.everywhere.now",
|
email: "the-world-21@somewhere.everywhere.now",
|
||||||
password: "AReallySecurePassword456!",
|
password: "AReallySecurePassword456!",
|
||||||
password_confirmation: "AReallySecurePassword456!"
|
password_confirmation: "AReallySecurePassword456!",
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -104,8 +106,8 @@ describe User::RegistrationsController, type: :controller do
|
||||||
screen_name: "moderator",
|
screen_name: "moderator",
|
||||||
email: "the-world-21@somewhere.everywhere.now",
|
email: "the-world-21@somewhere.everywhere.now",
|
||||||
password: "AReallySecurePassword456!",
|
password: "AReallySecurePassword456!",
|
||||||
password_confirmation: "AReallySecurePassword456!"
|
password_confirmation: "AReallySecurePassword456!",
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -114,5 +116,33 @@ describe User::RegistrationsController, type: :controller do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context "when registrations are disabled" do
|
||||||
|
before do
|
||||||
|
allow(APP_CONFIG).to receive(:dig).with(:hcaptcha, :enabled).and_return(false)
|
||||||
|
allow(APP_CONFIG).to receive(:dig).with(:features, :registration, :enabled).and_return(false)
|
||||||
|
end
|
||||||
|
|
||||||
|
it "redirects to the root page" do
|
||||||
|
subject
|
||||||
|
expect(response).to redirect_to(root_path)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe "#new" do
|
||||||
|
subject { get :new }
|
||||||
|
|
||||||
|
context "when registrations are disabled" do
|
||||||
|
before do
|
||||||
|
allow(APP_CONFIG).to receive(:dig).with(:hcaptcha, :enabled).and_return(false)
|
||||||
|
allow(APP_CONFIG).to receive(:dig).with(:features, :registration, :enabled).and_return(false)
|
||||||
|
end
|
||||||
|
|
||||||
|
it "redirects to the root page" do
|
||||||
|
subject
|
||||||
|
expect(response).to redirect_to(root_path)
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require "rails_helper"
|
||||||
|
|
||||||
|
describe "about/index.html.haml", type: :view do
|
||||||
|
before do
|
||||||
|
stub_const("APP_CONFIG", {
|
||||||
|
"hostname" => "example.com",
|
||||||
|
"https" => true,
|
||||||
|
"sitename" => "yastask",
|
||||||
|
},)
|
||||||
|
end
|
||||||
|
|
||||||
|
subject(:rendered) { render }
|
||||||
|
|
||||||
|
context "registrations are enabled" do
|
||||||
|
before do
|
||||||
|
allow(APP_CONFIG).to receive(:dig).with(:features, :registration, :enabled).and_return(true)
|
||||||
|
end
|
||||||
|
|
||||||
|
it "has references to registering now" do
|
||||||
|
expect(rendered).to match(/Register now/)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context "registrations are disabled" do
|
||||||
|
before do
|
||||||
|
allow(APP_CONFIG).to receive(:dig).with(:features, :registration, :enabled).and_return(false)
|
||||||
|
end
|
||||||
|
|
||||||
|
it "has no references to registering now" do
|
||||||
|
expect(rendered).to_not match(/Register now/)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,29 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require "rails_helper"
|
||||||
|
|
||||||
|
describe "navigation/_guest.html.haml", type: :view do
|
||||||
|
subject(:rendered) do
|
||||||
|
render partial: "navigation/guest"
|
||||||
|
end
|
||||||
|
|
||||||
|
context "registrations are enabled" do
|
||||||
|
before do
|
||||||
|
allow(APP_CONFIG).to receive(:dig).with(:features, :registration, :enabled).and_return(true)
|
||||||
|
end
|
||||||
|
|
||||||
|
it "has a sign up link" do
|
||||||
|
expect(rendered).to match(/Sign up/)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context "registrations are disabled" do
|
||||||
|
before do
|
||||||
|
allow(APP_CONFIG).to receive(:dig).with(:features, :registration, :enabled).and_return(false)
|
||||||
|
end
|
||||||
|
|
||||||
|
it "has no sign up link" do
|
||||||
|
expect(rendered).to_not match(/Sign up/)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in New Issue