Add missing test (we were only testing this logic via the bundle test)
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user