docbrown/spec/requests/additional_content_boxes_spec.rb
Andy Zhao c42fd3461e
[deploy] Rename positive_reactions_count to public_reactions_count in logic (#7926)
* Rename positive_reactions_count to public_reactions_count

* Add positive reactions count back in so we can remove it

* Use public_category method for reactions

* Add positive_reactions_count in case any old caches rely on it

* Add positive_rxn_count to account for API endpoints

* Remove unused method

* One more spot...

* Add method back in because of caches

* Update specs to match new functionality

* Fix typo

* Remove unused methods
2020-05-26 12:36:28 -04:00

40 lines
1.6 KiB
Ruby

require "rails_helper"
RSpec.describe "AdditionalContentBoxes", type: :request do
let(:tag) { create(:tag) }
let(:user) { create(:user) }
let(:regular_article) { create(:article, user: user, tags: [tag.name]) }
describe "GET /additional_content_boxes" do
it "returns an article if there is a published/featured one" do
suggestion = create(:article, published: true, published_at: 12.months.ago, featured: true, path: "blah")
suggestion.update(body_markdown: "foobar", title: "Title of the article", public_reactions_count: 100)
get "/additional_content_boxes?article_id=#{regular_article.id}&state=include_sponsors"
expect(response.body).to include(CGI.escapeHTML(suggestion.title))
end
it "returns no article if not published/featured" do
suggestion = create(:article)
get "/additional_content_boxes?article_id=#{regular_article.id}&state=include_sponsors"
expect(response.body).not_to include(CGI.escapeHTML(suggestion.title))
end
it "returns boosted article if available" do
organization = create(:organization)
create(:article, published: true, featured: true)
boosted_sugg = create(
:article, tags: [tag.name], featured: true, boosted_additional_articles: true, organization_id: organization.id
)
get "/additional_content_boxes?article_id=#{regular_article.id}&state=include_sponsors"
expect(response.body).to include(CGI.escapeHTML(boosted_sugg.title))
end
it "returns 422 status if article_id is missing" do
get "/additional_content_boxes"
expect(response.status).to eq(422)
end
end
end