# frozen_string_literal: true RSpec.describe "Topic summarization", type: :system, js: true do fab!(:user) { Fabricate(:admin) } # has_summary to force topic map to be present. fab!(:topic) { Fabricate(:topic, has_summary: true) } fab!(:post_1) { Fabricate(:post, topic: topic) } fab!(:post_2) { Fabricate(:post, topic: topic) } let(:plugin) { Plugin::Instance.new } before do sign_in(user) strategy = DummyCustomSummarization.new("dummy") plugin.register_summarization_strategy(strategy) SiteSetting.summarization_strategy = strategy.model end it "returns a summary using the selected timeframe" do visit("/t/-/#{topic.id}") find(".topic-strategy-summarization").click expect(page.has_css?(".topic-summary-modal", wait: 5)).to eq(true) expect(find(".summary-area").text).to eq(DummyCustomSummarization::RESPONSE) end end