27 lines
875 B
Ruby
27 lines
875 B
Ruby
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
|