From 03aaa82d86ac82aeae1405ae4ecd9eb84b990abc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Checa?= Date: Tue, 19 Dec 2017 17:01:35 +0100 Subject: [PATCH] Improved tests --- spec/shared/features/relationable.rb | 38 +++++++++++++++++++--------- 1 file changed, 26 insertions(+), 12 deletions(-) diff --git a/spec/shared/features/relationable.rb b/spec/shared/features/relationable.rb index ba3862235..f17544b38 100644 --- a/spec/shared/features/relationable.rb +++ b/spec/shared/features/relationable.rb @@ -69,35 +69,49 @@ shared_examples "relationable" do |relationable_model_name| expect(page).to have_content("Link not valid. Remember to start with #{Setting[:url]}.") end - scenario 'related content can be flagged', :js do + scenario 'related content can be scored positively', :js do related_content = create(:related_content, parent_relationable: relationable, child_relationable: related1) login_as(user) visit eval("#{relationable.class.name.downcase}_path(relationable)") within("#related-content-list") do - expect(page).to have_css("#flag-expand-related-#{related_content.opposite_related_content.id}") - find("#flag-expand-related-#{related_content.opposite_related_content.id}").click - expect(page).to have_css("#flag-drop-related-#{related_content.opposite_related_content.id}", visible: true) - click_link("flag-related-#{related_content.opposite_related_content.id}") - - expect(page).to have_css("#unflag-expand-related-#{related_content.opposite_related_content.id}") + find("#score-positive-related-#{related_content.opposite_related_content.id}").click + expect(page).to_not have_css("#score-positive-related-#{related_content.opposite_related_content.id}") end - expect(related_content.reload.flags_count).to eq(1) - expect(related_content.opposite_related_content.flags_count).to eq(1) + expect(related_content.reload.positive_score).to eq(1) + expect(related_content.opposite_related_content.reload.positive_score).to eq(1) end - scenario 'if related content has been flagged more than 5 times it will be hidden', :js do + scenario 'related content can be scored negatively', :js do related_content = create(:related_content, parent_relationable: relationable, child_relationable: related1) - related_content.flags_count = Setting['related_contents_report_threshold'].to_i + 1 - related_content.opposite_related_content.flags_count = related_content.flags_count + login_as(user) + visit eval("#{relationable.class.name.downcase}_path(relationable)") + + within("#related-content-list") do + find("#score-negative-related-#{related_content.opposite_related_content.id}").click + expect(page).to_not have_css("#score-negative-related-#{related_content.opposite_related_content.id}") + end + + expect(related_content.reload.negative_score).to eq(1) + expect(related_content.opposite_related_content.reload.negative_score).to eq(1) + end + + scenario 'if related content has negative score it will be hidden' do + related_content = create(:related_content, parent_relationable: relationable, child_relationable: related1) + + related_content.positive_score = 4 + related_content.negative_score = 20 + related_content.opposite_related_content.positive_score = 4 + related_content.opposite_related_content.negative_score = 20 related_content.save related_content.opposite_related_content.save login_as(user) + visit eval("#{relationable.class.name.downcase}_path(relationable)") expect(page).to_not have_css("#related-content-list")