Files
grecia/spec/components/machine_learning/comments_summary_component_spec.rb
2021-08-16 16:31:04 +02:00

45 lines
1.4 KiB
Ruby

require "rails_helper"
describe MachineLearning::CommentsSummaryComponent, type: :component do
let(:commentable) { double(summary_comment: double(body: "There's a general agreement")) }
let(:component) { MachineLearning::CommentsSummaryComponent.new(commentable) }
before do
Setting["feature.machine_learning"] = true
Setting["machine_learning.comments_summary"] = true
allow(controller).to receive(:current_user).and_return(nil)
end
it "is displayed when the setting is enabled" do
render_inline component
expect(page).to have_content "Comments summary"
expect(page).to have_content "There's a general agreement"
expect(page).to have_content "Content generated by AI / Machine Learning"
end
it "is not displayed when the setting is disabled" do
Setting["machine_learning.comments_summary"] = false
render_inline component
expect(page.native.inner_html).to be_empty
end
it "is not displayed when the machine learning feature is disabled" do
Setting["feature.machine_learning"] = false
render_inline component
expect(page.native.inner_html).to be_empty
end
it "is not displayed when there's no summary" do
commentable = double(summary_comment: double(body: ""))
render_inline MachineLearning::CommentsSummaryComponent.new(commentable)
expect(page.native.inner_html).to be_empty
end
end