From b1e5f734ae7650805c8f1ab7a7014ecedd06c78e Mon Sep 17 00:00:00 2001 From: Kriszta Matyi Date: Sun, 8 Sep 2024 22:46:06 -0700 Subject: [PATCH] Fixes Rollbar #569 undefined method name for nil Fixes undefined method name for nil:NilClass error in admin sponsor page --- .../_admin_contact_subscribe.html.haml | 3 +- .../_admin_contact_unsubscribe.html.haml | 3 +- spec/features/admin/sponsor_spec.rb | 28 +++++++++++++++++++ 3 files changed, 32 insertions(+), 2 deletions(-) diff --git a/app/views/public_activity/sponsor/_admin_contact_subscribe.html.haml b/app/views/public_activity/sponsor/_admin_contact_subscribe.html.haml index 15a20ab62..842bd219a 100644 --- a/app/views/public_activity/sponsor/_admin_contact_subscribe.html.haml +++ b/app/views/public_activity/sponsor/_admin_contact_subscribe.html.haml @@ -1 +1,2 @@ -%li #{link_to(activity.owner.full_name, admin_member_path(activity.owner))} subscribed #{activity.recipient.name} #{activity.recipient.surname} with email #{activity.parameters[:note]} to the Sponsor newsletter +- if activity.recipient.present? + %li #{link_to(activity.owner.full_name, admin_member_path(activity.owner))} subscribed #{activity&.recipient.name} #{activity&.recipient.surname} with email #{activity.parameters[:note]} to the Sponsor newsletter diff --git a/app/views/public_activity/sponsor/_admin_contact_unsubscribe.html.haml b/app/views/public_activity/sponsor/_admin_contact_unsubscribe.html.haml index 31817e749..acfa2b668 100644 --- a/app/views/public_activity/sponsor/_admin_contact_unsubscribe.html.haml +++ b/app/views/public_activity/sponsor/_admin_contact_unsubscribe.html.haml @@ -1 +1,2 @@ -%li #{link_to(activity.owner.full_name, admin_member_path(activity.owner))} unsubscribed #{activity.recipient.name} #{activity.recipient.surname} with email #{activity.parameters[:note]} from the Sponsor newsletter +- if activity.recipient.present? + %li #{link_to(activity.owner.full_name, admin_member_path(activity.owner))} unsubscribed #{activity.recipient.name} #{activity.recipient.surname} with email #{activity.parameters[:note]} from the Sponsor newsletter diff --git a/spec/features/admin/sponsor_spec.rb b/spec/features/admin/sponsor_spec.rb index b93bed4d4..5a084ef45 100644 --- a/spec/features/admin/sponsor_spec.rb +++ b/spec/features/admin/sponsor_spec.rb @@ -155,6 +155,34 @@ end end end + + context 'activities' do + scenario 'when there are activities' do + contact = sponsor.contacts.first + audit = Auditor::Audit.new(sponsor, 'sponsor.admin_contact_subscribe', manager, contact) + audit.log_with_note(contact.email) + + visit admin_sponsor_path(sponsor) + + within '#activities' do + expect(page).to have_content("#{manager.full_name} subscribed #{contact.name} #{contact.surname} with email #{contact.email} to the Sponsor newsletter") + end + end + + scenario 'when an activity is associated with a deleted contact' do + contact = sponsor.contacts.first + audit = Auditor::Audit.new(sponsor, 'sponsor.admin_contact_subscribe', manager, contact) + audit.log_with_note(contact.email) + + contact.delete + + visit admin_sponsor_path(sponsor) + + within '#activities' do + expect(page).to_not have_content("#{manager.full_name} subscribed #{contact.name} #{contact.surname} with email #{contact.email} to the Sponsor newsletter") + end + end + end end context 'Editing a sponsor' do