spec/requests/refinery/admin/settings_spec.rb in refinerycms-settings-2.0.2 vs spec/requests/refinery/admin/settings_spec.rb in refinerycms-settings-2.0.3

- old
+ new

@@ -3,55 +3,86 @@ module Refinery module Admin describe "Settings" do login_refinery_user - context "when no settings" do - before(:each) { Refinery::Setting.destroy_all } + context "when interface config is enabled" do + before do + Refinery::Settings.stub(:enable_interface).and_return(true) + end - it "invites to create one" do - visit refinery.admin_settings_path - page.should have_content("There are no settings yet. Click 'Add new setting' to add your first setting.") + it "shows up in menu" do + visit refinery.admin_root_path + + within('nav') do + page.should have_content "Settings" + end end - end - it "shows add new setting link" do - visit refinery.admin_settings_path - page.should have_content("Add new setting") - page.should have_selector("a[href*='/refinery/settings/new']") - end + context "when no settings" do + before(:each) { Refinery::Setting.destroy_all } - context "new/create" do - it "adds setting", :js => true do + it "invites to create one" do + visit refinery.admin_settings_path + page.should have_content("There are no settings yet. Click 'Add new setting' to add your first setting.") + end + end + + it "shows add new setting link" do visit refinery.admin_settings_path - click_link "Add new setting" + page.should have_content("Add new setting") + page.should have_selector("a[href*='/refinery/settings/new']") + end - page.should have_selector('iframe#dialog_iframe') + context "new/create" do + it "adds setting", :js => true do + visit refinery.admin_settings_path + click_link "Add new setting" - page.within_frame('dialog_iframe') do - fill_in "Name", :with => "test setting" - fill_in "Value", :with => "true" + page.should have_selector('iframe#dialog_iframe') - click_button "Save" + page.within_frame('dialog_iframe') do + fill_in "Name", :with => "test setting" + fill_in "Value", :with => "true" + + click_button "Save" + end + + page.should have_content("'Test Setting' was successfully added.") + page.should have_content("Test Setting - true") end + end - page.should have_content("'Test Setting' was successfully added.") - page.should have_content("Test Setting - true") + context "pagination" do + before(:each) do + (Refinery::Setting.per_page + 1).times do + FactoryGirl.create(:setting) + end + end + + specify "page links" do + visit refinery.admin_settings_path + + page.should have_selector("a[href*='settings?page=2']") + end end end - context "pagination" do - before(:each) do - (Refinery::Setting.per_page + 1).times do - FactoryGirl.create(:setting) - end + context "when interface config is disabled" do + before do + Refinery::Settings.stub(:enable_interface).and_return(false) + Refinery::Plugins.registered.find_by_name("refinery_settings").hide_from_menu = true end - specify "page links" do - visit refinery.admin_settings_path + it "does not show up in menu" do + visit refinery.admin_root_path - page.should have_selector("a[href*='settings?page=2']") + within('nav') do + page.should_not have_content "Settings" + end end end + + end end end