From c1c9637b3959a8b188a33e2da50e66c31e187a41 Mon Sep 17 00:00:00 2001 From: Guo Xiang Tan Date: Fri, 7 Sep 2018 08:33:27 +0800 Subject: [PATCH] Skip Discobot flag tutorial if `allow_flagging_staff` is disabled. https://meta.discourse.org/t/interacting-with-discobot/96574 --- .../new_user_narrative.rb | 1 + .../new_user_narrative_spec.rb | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/plugins/discourse-narrative-bot/lib/discourse_narrative_bot/new_user_narrative.rb b/plugins/discourse-narrative-bot/lib/discourse_narrative_bot/new_user_narrative.rb index a814f1cd73f..bc134eb7e36 100644 --- a/plugins/discourse-narrative-bot/lib/discourse_narrative_bot/new_user_narrative.rb +++ b/plugins/discourse-narrative-bot/lib/discourse_narrative_bot/new_user_narrative.rb @@ -95,6 +95,7 @@ module DiscourseNarrativeBot }, tutorial_flag: { + prerequisite: Proc.new { SiteSetting.allow_flagging_staff }, next_state: :tutorial_search, next_instructions: Proc.new { I18n.t("#{I18N_KEY}.search.instructions", base_uri: Discourse.base_uri) }, flag: { diff --git a/plugins/discourse-narrative-bot/spec/discourse_narrative_bot/new_user_narrative_spec.rb b/plugins/discourse-narrative-bot/spec/discourse_narrative_bot/new_user_narrative_spec.rb index 1b1700c5f32..0d0d144f5ec 100644 --- a/plugins/discourse-narrative-bot/spec/discourse_narrative_bot/new_user_narrative_spec.rb +++ b/plugins/discourse-narrative-bot/spec/discourse_narrative_bot/new_user_narrative_spec.rb @@ -401,6 +401,22 @@ describe DiscourseNarrativeBot::NewUserNarrative do expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_flag) end + + describe 'when allow_flagging_staff is false' do + it 'should go to the right state' do + SiteSetting.allow_flagging_staff = false + post.update!(raw: skip_trigger) + + DiscourseNarrativeBot::TrackSelector.new( + :reply, + user, + post_id: post.id + ).select + + expect(narrative.get_data(user)[:state].to_sym) + .to eq(:tutorial_search) + end + end end end