From 3df928d6095090aa7e36a0c22e3414d33c98eca3 Mon Sep 17 00:00:00 2001 From: Gerhard Schlager Date: Tue, 1 Jun 2021 14:38:55 +0200 Subject: [PATCH] DEV: Fix flaky specs (#13226) Some specs failed when `LOAD_PLUGINS=1` was set while migrating the test DB and the narrative-bot plugin disabled the `send_welcome_message` site setting. --- spec/lib/onebox/engine/instagram_onebox_spec.rb | 16 ++++++++++------ spec/models/user_spec.rb | 2 ++ spec/requests/users_controller_spec.rb | 1 + 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/spec/lib/onebox/engine/instagram_onebox_spec.rb b/spec/lib/onebox/engine/instagram_onebox_spec.rb index 54755c46d95..9924e7064ac 100644 --- a/spec/lib/onebox/engine/instagram_onebox_spec.rb +++ b/spec/lib/onebox/engine/instagram_onebox_spec.rb @@ -31,16 +31,15 @@ describe Onebox::Engine::InstagramOnebox do stub_request(:get, api_link).to_return(status: 200, body: onebox_response("instagram")) stub_request(:get, "https://api.instagram.com/oembed/?url=https://www.instagram.com/p/CARbvuYDm3Q") .to_return(status: 200, body: onebox_response("instagram")) + @previous_options = Onebox.options.to_h + Onebox.options = { facebook_app_access_token: access_token } end - around do |example| - previous_options = Onebox.options.to_h - example.run - Onebox.options = previous_options + after do + Onebox.options = @previous_options end it "includes title" do - Onebox.options = { facebook_app_access_token: access_token } onebox = described_class.new(link) html = onebox.to_html @@ -48,7 +47,6 @@ describe Onebox::Engine::InstagramOnebox do end it "includes image" do - Onebox.options = { facebook_app_access_token: access_token } onebox = described_class.new(link) html = onebox.to_html @@ -62,6 +60,12 @@ describe Onebox::Engine::InstagramOnebox do before do stub_request(:get, api_link).to_return(status: 200, body: onebox_response("instagram_old_onebox")) + @previous_options = Onebox.options.to_h + Onebox.options = {} + end + + after do + Onebox.options = @previous_options end it "includes title" do diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 6105901f57b..73062c4392e 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -153,6 +153,8 @@ describe User do let(:user) { Fabricate(:user) } it 'enqueues the system message' do + SiteSetting.send_welcome_message = true + expect_enqueued_with(job: :send_system_message, args: { user_id: user.id, message_type: 'welcome_user' }) do user.enqueue_welcome_message('welcome_user') end diff --git a/spec/requests/users_controller_spec.rb b/spec/requests/users_controller_spec.rb index c3f05942425..935846c9fcf 100644 --- a/spec/requests/users_controller_spec.rb +++ b/spec/requests/users_controller_spec.rb @@ -64,6 +64,7 @@ describe UsersController do context 'valid token' do context 'welcome message' do it 'enqueues a welcome message if the user object indicates so' do + SiteSetting.send_welcome_message = true user.update(active: false) put "/u/activate-account/#{token}" expect(response.status).to eq(200)