81d6df3616
We don't use to_prompt to generate AI responses anymore, only for events. Grabbing all the comments don't make as much sense, and I'm sure it is quite expensive
34 lines
1.0 KiB
Ruby
34 lines
1.0 KiB
Ruby
require "test_helper"
|
|
|
|
class Event::ActivitySummaryTest < ActiveSupport::TestCase
|
|
include VcrTestHelper
|
|
|
|
setup do
|
|
@events = Event.limit(3)
|
|
freeze_timestamps
|
|
end
|
|
|
|
test "create summaries only once for a given set of events" do
|
|
summary = assert_difference -> { Event::ActivitySummary.count }, +1 do
|
|
Event::ActivitySummary.create_for(@events)
|
|
end
|
|
|
|
assert_no_difference -> { Event::ActivitySummary.count } do
|
|
assert_equal summary, Event::ActivitySummary.create_for(@events)
|
|
assert_equal summary, Event::ActivitySummary.create_for(@events.order("action desc").where(id: @events.ids)) # order does not matter
|
|
end
|
|
end
|
|
|
|
test "fetching a existing summary" do
|
|
assert_nil Event::ActivitySummary.for(@events)
|
|
|
|
summary = Event::ActivitySummary.create_for(@events)
|
|
assert_equal summary, Event::ActivitySummary.for(@events)
|
|
end
|
|
|
|
test "getting an HTML summary for a set of events" do
|
|
summary = Event::ActivitySummary.create_for(@events)
|
|
assert_match /layout/i, summary.to_html
|
|
end
|
|
end
|