32 lines
886 B
Ruby
32 lines
886 B
Ruby
require "test_helper"
|
|
|
|
class Bubble::PoppableTest < ActiveSupport::TestCase
|
|
test "popped scope" do
|
|
assert_equal [ bubbles(:shipping) ], Bubble.popped
|
|
assert_not_includes Bubble.active, bubbles(:shipping)
|
|
end
|
|
|
|
test "popping" do
|
|
assert_not bubbles(:logo).popped?
|
|
|
|
bubbles(:logo).pop!(user: users(:kevin))
|
|
|
|
assert bubbles(:logo).popped?
|
|
assert_equal users(:kevin), bubbles(:logo).popped_by
|
|
end
|
|
|
|
test "auto_pop_all_due" do
|
|
bubbles(:logo, :shipping).each(&:reconsider)
|
|
|
|
bubbles(:logo).update!(last_active_at: 1.day.ago - Bubble::Poppable::AUTO_POP_AFTER)
|
|
bubbles(:shipping).update!(last_active_at: 1.day.from_now - Bubble::Poppable::AUTO_POP_AFTER)
|
|
|
|
assert_difference -> { Bubble.popped.count }, +1 do
|
|
Bubble.auto_pop_all_due
|
|
end
|
|
|
|
assert bubbles(:logo).reload.popped?
|
|
assert_not bubbles(:shipping).reload.popped?
|
|
end
|
|
end
|