diff --git a/app/controllers/admin/poll/base_controller.rb b/app/controllers/admin/poll/base_controller.rb index 47b2f2b5f..2d0a2e9d1 100644 --- a/app/controllers/admin/poll/base_controller.rb +++ b/app/controllers/admin/poll/base_controller.rb @@ -1,4 +1,8 @@ class Admin::Poll::BaseController < Admin::BaseController + include FeatureFlags + + feature_flag :polls + helper_method :namespace private diff --git a/app/controllers/polls_controller.rb b/app/controllers/polls_controller.rb index 006d2fe95..6665d5db3 100644 --- a/app/controllers/polls_controller.rb +++ b/app/controllers/polls_controller.rb @@ -1,6 +1,9 @@ class PollsController < ApplicationController + include FeatureFlags include PollsHelper + feature_flag :polls + before_action :load_poll, except: [:index] before_action :load_active_poll, only: :index diff --git a/spec/system/admin/poll/polls_spec.rb b/spec/system/admin/poll/polls_spec.rb index 6465f9e10..8703dd4e2 100644 --- a/spec/system/admin/poll/polls_spec.rb +++ b/spec/system/admin/poll/polls_spec.rb @@ -6,6 +6,11 @@ describe "Admin polls" do login_as(admin.user) end + scenario "Disabled with a feature flag" do + Setting["process.polls"] = nil + expect { visit admin_polls_path }.to raise_exception(FeatureFlags::FeatureDisabled) + end + scenario "Index empty", :js do visit admin_root_path diff --git a/spec/system/polls/polls_spec.rb b/spec/system/polls/polls_spec.rb index 6479285f4..ed5da64d9 100644 --- a/spec/system/polls/polls_spec.rb +++ b/spec/system/polls/polls_spec.rb @@ -5,6 +5,11 @@ describe "Polls" do it_behaves_like "notifiable in-app", :poll end + scenario "Disabled with a feature flag" do + Setting["process.polls"] = nil + expect { visit polls_path }.to raise_exception(FeatureFlags::FeatureDisabled) + end + context "#index" do scenario "Shows description for open polls" do visit polls_path