spec/components/relationable/related_list_component_spec.rb
require "rails_helper"
describe Relationable::RelatedListComponent do
let(:proposal) { create(:proposal) }
let(:user_proposal) { create(:proposal, title: "I am user related") }
let(:machine_proposal) { create(:proposal, title: "I am machine related") }
let(:component) { Relationable::RelatedListComponent.new(proposal) }
before do
Setting["feature.machine_learning"] = true
Setting["machine_learning.related_content"] = true
create(:related_content, parent_relationable: proposal, child_relationable: user_proposal)
create(:related_content, parent_relationable: proposal,
child_relationable: machine_proposal,
machine_learning: true)
end
it "displays machine learning and user content when machine learning is enabled" do
render_inline component
expect(page).to have_css "li", count: 2
expect(page).to have_content "I am machine related"
expect(page).to have_content "I am user related"
end
it "displays user related content when machine learning is disabled" do
Setting["feature.machine_learning"] = false
render_inline component
expect(page).to have_css "li", count: 1
expect(page).to have_content "I am user related"
expect(page).not_to have_content "I am machine related"
end
it "displays user related content when machine learning related content is disabled" do
Setting["machine_learning.related_content"] = false
render_inline component
expect(page).to have_css "li", count: 1
expect(page).to have_content "I am user related"
expect(page).not_to have_content "I am machine related"
end
end