From 8f55cd85ad90f9c74476b22dfba94378e4fab3c0 Mon Sep 17 00:00:00 2001 From: Alan Guo Xiang Tan Date: Mon, 10 Jun 2024 08:41:03 +0800 Subject: [PATCH] DEV: Clean up state to prevent flaky tests (#27397) When adding custom translations for tests using `I18n.backend.store_translations`, we need to remove the custom translations at the end of each test to prevent the custom translations from leaking to other tests. --- .../requests/admin_discourse_automation_automations_spec.rb | 3 +++ .../automation/spec/serializers/automation_serializer_spec.rb | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/plugins/automation/spec/requests/admin_discourse_automation_automations_spec.rb b/plugins/automation/spec/requests/admin_discourse_automation_automations_spec.rb index 28c7e139f42..0ab1b3f578b 100644 --- a/plugins/automation/spec/requests/admin_discourse_automation_automations_spec.rb +++ b/plugins/automation/spec/requests/admin_discourse_automation_automations_spec.rb @@ -5,6 +5,7 @@ describe DiscourseAutomation::AdminAutomationsController do before do SiteSetting.discourse_automation_enabled = true + I18n.backend.store_translations( :en, { @@ -24,6 +25,8 @@ describe DiscourseAutomation::AdminAutomationsController do ) end + after { I18n.backend.reload! } + describe "#show" do context "when logged in as an admin" do before { sign_in(Fabricate(:admin)) } diff --git a/plugins/automation/spec/serializers/automation_serializer_spec.rb b/plugins/automation/spec/serializers/automation_serializer_spec.rb index df807b5f2fb..5f290d69e4c 100644 --- a/plugins/automation/spec/serializers/automation_serializer_spec.rb +++ b/plugins/automation/spec/serializers/automation_serializer_spec.rb @@ -41,6 +41,7 @@ describe DiscourseAutomation::AutomationSerializer do DiscourseAutomation::Scriptable.add("foo") do field :bar, component: :text, triggerable: DiscourseAutomation::Triggers::TOPIC end + I18n.backend.store_translations( :en, { @@ -56,6 +57,8 @@ describe DiscourseAutomation::AutomationSerializer do ) end + after { I18n.backend.reload! } + context "when automation is not using the specific trigger" do fab!(:automation) do Fabricate( @@ -72,6 +75,7 @@ describe DiscourseAutomation::AutomationSerializer do scope: Guardian.new(user), root: false, ) + expect(serializer.script[:templates]).to eq([]) end end