docbrown/spec/system/admin/admin_manages_configuration_spec.rb
Alex 94cd9e246f
[deploy] Add default for main_social_image (#11126)
* Add default for main_social_image

* Fix image URL and add spec

* Fix spec

* Move image_url helper into image module

* Fix typo in comment

Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>

* Change URL helper logic

* Try something else

* Use ApplicationConfig

* Refactor

* Try again

* Try again with another approach

* Add specs for URL.local_image

Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>
2020-10-29 10:07:14 -04:00

38 lines
1.2 KiB
Ruby

require "rails_helper"
RSpec.describe "Admin manages configuration", type: :system do
let(:admin) { create(:user, :super_admin) }
before do
sign_in admin
visit admin_config_path
end
VerifySetupCompleted::MANDATORY_CONFIGS.each do |option|
it "marks #{option} as required" do
selector = "label[for='site_config_#{option}']"
expect(first(selector).text).to include("Required")
end
end
context "when mandatory options are missing" do
it "does not show the banner on the config page" do
allow(SiteConfig).to receive(:tagline).and_return(nil)
expect(page).not_to have_content("Setup not completed yet")
end
it "does show the banner on other pages" do
allow(SiteConfig).to receive(:tagline).and_return(nil)
visit root_path
expect(page).to have_content("Setup not completed yet")
end
it "includes information about missing fields on the config pages" do
allow(SiteConfig).to receive(:tagline).and_return(nil)
allow(SiteConfig).to receive(:suggested_users).and_return(nil)
allow(SiteConfig).to receive(:suggested_tags).and_return(nil)
visit root_path
expect(page.body).to match(/Setup not completed yet, missing(.*)logo png(.*), and others/)
end
end
end