51 lines
2.2 KiB
Ruby
51 lines
2.2 KiB
Ruby
require "test_helper"
|
|
|
|
class BubbleMessagesTest < ActionDispatch::IntegrationTest
|
|
setup do
|
|
sign_in_as :kevin
|
|
end
|
|
|
|
test "messages system" do
|
|
# Create a bubble
|
|
post bucket_bubbles_url(buckets(:writebook))
|
|
bubble = Bubble.last
|
|
assert_equal 1, bubble.messages.count
|
|
assert_predicate bubble.messages.last, :event_summary?
|
|
assert_equal "created", bubble.messages.last.messageable.events.sole.action
|
|
|
|
# Boost it
|
|
post bucket_bubble_boosts_url(buckets(:writebook), bubble, format: :turbo_stream)
|
|
assert_equal 1, bubble.messages.count
|
|
assert_predicate bubble.messages.last, :event_summary?
|
|
assert_equal 2, bubble.messages.last.event_summary.events.count
|
|
assert_equal "boosted", bubble.messages.last.messageable.events.last.action
|
|
|
|
# Comment on it
|
|
post bucket_bubble_comments_url(buckets(:writebook), bubble), params: { comment: { body: "Agreed." } }
|
|
assert_equal 2, bubble.messages.count
|
|
assert_predicate bubble.messages.last, :comment?
|
|
assert_equal "Agreed.", bubble.messages.last.messageable.body
|
|
|
|
# Assign it
|
|
post bucket_bubble_assignments_url(buckets(:writebook), bubble), params: { assignee_id: users(:kevin).id }
|
|
assert_equal 3, bubble.messages.count
|
|
assert_predicate bubble.messages.last, :event_summary?
|
|
assert_equal 1, bubble.messages.last.event_summary.events.count
|
|
assert_equal "assigned", bubble.messages.last.messageable.events.last.action
|
|
|
|
# Stage it
|
|
post bucket_bubble_stagings_url(buckets(:writebook), bubble), params: { stage_id: workflow_stages(:qa_maybe).id }
|
|
assert_equal 3, bubble.messages.count
|
|
assert_predicate bubble.messages.last, :event_summary?
|
|
assert_equal 2, bubble.messages.last.event_summary.events.count
|
|
assert_equal "staged", bubble.messages.last.messageable.events.last.action
|
|
|
|
# Unstage it
|
|
post bucket_bubble_stagings_url(buckets(:writebook), bubble), params: { stage_id: workflow_stages(:qa_maybe).id }
|
|
assert_equal 3, bubble.messages.count
|
|
assert_predicate bubble.messages.last, :event_summary?
|
|
assert_equal 3, bubble.messages.last.event_summary.events.count
|
|
assert_equal "unstaged", bubble.messages.last.messageable.events.last.action
|
|
end
|
|
end
|