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.
This commit is contained in:
Alan Guo Xiang Tan 2024-06-10 08:41:03 +08:00 committed by GitHub
parent 1fbc1cd326
commit 8f55cd85ad
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 7 additions and 0 deletions

View File

@ -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)) }

View File

@ -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