From 271d7684a7367d11d07ba1dc33e2e846c7f465ac Mon Sep 17 00:00:00 2001 From: Wayne Weibel Date: Thu, 23 Jan 2025 15:15:34 -0500 Subject: [PATCH] Burial 97131 ZSF Notification Callback (#20410) --- lib/burials/notification_callback.rb | 17 +++++++++++++++++ lib/burials/notification_email.rb | 7 +++++++ spec/lib/burials/notification_callback_spec.rb | 12 ++++++++++++ spec/lib/burials/notification_email_spec.rb | 3 ++- 4 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 lib/burials/notification_callback.rb create mode 100644 spec/lib/burials/notification_callback_spec.rb diff --git a/lib/burials/notification_callback.rb b/lib/burials/notification_callback.rb new file mode 100644 index 00000000000..e3a45ef2d7e --- /dev/null +++ b/lib/burials/notification_callback.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +require 'burials/monitor' +require 'veteran_facing_services/notification_callback/saved_claim' + +module Burials + # @see ::VeteranFacingServices::NotificationCallback::SavedClaim + class NotificationCallback < ::VeteranFacingServices::NotificationCallback::SavedClaim + private + + # the monitor to be used + # @see Burials::Monitor + def monitor + @monitor ||= Burials::Monitor.new + end + end +end diff --git a/lib/burials/notification_email.rb b/lib/burials/notification_email.rb index 37490dd55c9..ab6720617d6 100644 --- a/lib/burials/notification_email.rb +++ b/lib/burials/notification_email.rb @@ -1,5 +1,6 @@ # frozen_string_literal: true +require 'burials/notification_callback' require 'veteran_facing_services/notification_email/saved_claim' # Form 21P-530EZ @@ -13,6 +14,7 @@ def initialize(saved_claim_id) private + # @see VeteranFacingServices::NotificationEmail::SavedClaim#claim_class def claim_class SavedClaim::Burial end @@ -41,5 +43,10 @@ def personalization default.merge(burials) end + + # @see VeteranFacingServices::NotificationEmail::SavedClaim#callback_class + def callback_klass + Burials::NotificationCallback.to_s + end end end diff --git a/spec/lib/burials/notification_callback_spec.rb b/spec/lib/burials/notification_callback_spec.rb new file mode 100644 index 00000000000..4ba519aaad7 --- /dev/null +++ b/spec/lib/burials/notification_callback_spec.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +require 'burials/monitor' +require 'burials/notification_callback' + +# relative to `spec` folder +require 'rails_helper' +require 'lib/veteran_facing_services/notification_callback/shared/saved_claim' + +RSpec.describe Burials::NotificationCallback do + it_behaves_like 'a SavedClaim Notification Callback', Burials::NotificationCallback, Burials::Monitor +end diff --git a/spec/lib/burials/notification_email_spec.rb b/spec/lib/burials/notification_email_spec.rb index fc093663f0e..006eb9cd88d 100644 --- a/spec/lib/burials/notification_email_spec.rb +++ b/spec/lib/burials/notification_email_spec.rb @@ -1,6 +1,7 @@ # frozen_string_literal: true # lib +require 'burials/notification_callback' require 'burials/notification_email' # spec @@ -19,7 +20,7 @@ Settings.vanotify.services['21p_530ez'].email.confirmation.template_id, anything, Settings.vanotify.services['21p_530ez'].api_key, - { callback_klass: VeteranFacingServices::NotificationCallback::SavedClaim.to_s, + { callback_klass: Burials::NotificationCallback.to_s, callback_metadata: anything } ] expect(VANotify::EmailJob).to receive(:perform_async).with(*args)