DEV: Update webhook event attributes even when an error raised

DEV: Update webhook event attributes even when an error raised

diff --git a/app/jobs/regular/emit_web_hook_event.rb b/app/jobs/regular/emit_web_hook_event.rb
index 9ab18f8..64d680d 100644
--- a/app/jobs/regular/emit_web_hook_event.rb
+++ b/app/jobs/regular/emit_web_hook_event.rb
@@ -72,7 +72,7 @@ module Jobs
       )
 
       body = build_web_hook_body(args, web_hook)
-      web_hook_event = WebHookEvent.create!(web_hook_id: web_hook.id)
+      web_hook_event = WebHookEvent.create!(web_hook_id: web_hook.id, payload: body)
       response = nil
 
       begin
@@ -107,13 +107,13 @@ module Jobs
 
         web_hook_event.update!(
           headers: MultiJson.dump(headers),
-          payload: body,
           status: response.status,
           response_headers: MultiJson.dump(response.headers),
           response_body: response.body,
           duration: ((Time.zone.now - now) * 1000).to_i
         )
       rescue => e
+        web_hook_event.update!(headers: MultiJson.dump(headers))
         Rails.logger.error("Webhook event failed: #{e}")
       end

GitHub sha: 1e3cb757

Can we add a test for this?

1 Like

SPEC: Update webhook event attributes even when an error raised