Add missing test (we were only testing this logic via the bundle test)

This commit is contained in:
Jorge Manrubia
2025-09-16 11:22:14 +02:00
parent 80de91417d
commit 09325403e5
2 changed files with 27 additions and 0 deletions
+1
View File
@@ -16,6 +16,7 @@ module User::Notifiable
private
def find_or_create_bundle_for(notification)
puts "find_bundle_for(notification)=#{find_bundle_for(notification)}"
find_bundle_for(notification) || create_bundle_for(notification)
end
+26
View File
@@ -0,0 +1,26 @@
require "test_helper"
class User::NotifiableTest < ActiveSupport::TestCase
setup do
@user = users(:david)
@user.settings.bundle_email_every_few_hours!
end
test "bundle method creates new bundle for first notification" do
notification = assert_difference -> { @user.notification_bundles.count }, 1 do
@user.notifications.create!(source: events(:logo_published), creator: @user)
end
bundle = @user.notification_bundles.last
assert_equal notification.created_at, bundle.starts_at
assert bundle.pending?
end
test "bundle method finds existing bundle within aggregation period" do
@user.notifications.create!(source: events(:logo_published), creator: @user)
assert_no_difference -> { @user.notification_bundles.count } do
@user.notifications.create!(source: events(:logo_published), creator: @user)
end
end
end