refactor: move `invoke_webhook` to test_helper

Phillip Davis created

Change summary

test/test_helper.rb          | 24 ++++++++++++++++++++++++
test/test_webhook_handler.rb | 25 -------------------------
2 files changed, 24 insertions(+), 25 deletions(-)

Detailed changes

test/test_helper.rb 🔗

@@ -42,6 +42,30 @@ def written
 	SGXbwmsgsv2.instance_variable_get(:@written)
 end
 
+def invoke_webhook(payload, extra_env: {})
+	with_stubs([
+		[
+			SGXbwmsgsv2,
+			:write,
+			->(data) { SGXbwmsgsv2.write_to_stream(data) }
+		 ]
+	]) do
+		handler = WebhookHandler.new
+		env = {
+			"REQUEST_URI" => "/",
+			"REQUEST_METHOD" => "POST",
+			"params" => { "_json" => [payload] }
+		}.merge(extra_env)
+		handler.instance_variable_set(:@env, env)
+		def handler.params
+			@env["params"]
+		end
+		EMPromise.resolve(nil).then {
+			handler.response(env)
+		}.sync
+	end
+end
+
 begin
 	require "pry-byebug"
 

test/test_webhook_handler.rb 🔗

@@ -13,31 +13,6 @@ class WebhookHandlerTest < Minitest::Test
 		reset_redis!
 	end
 
-	def invoke_webhook(payload, extra_env: {})
-		with_stubs([
-			[
-				SGXbwmsgsv2,
-				:write,
-				->(data) { SGXbwmsgsv2.write_to_stream(data) }
-			]
-		]) do
-			handler = WebhookHandler.new
-			env = {
-				"REQUEST_URI" => "/",
-				"REQUEST_METHOD" => "POST",
-				"params" => {"_json" => [payload]}
-			}.merge(extra_env)
-			handler.instance_variable_set(:@env, env)
-			def handler.params
-				@env["params"]
-			end
-
-			EMPromise.resolve(nil).then {
-				handler.response(env)
-			}.sync
-		end
-	end
-
 	def test_inbound_sms_emits_to_stream
 		payload = {
 			"type" => "message-received",