docbrown/spec/labor/reading_list_spec.rb
rhymes e588fa7ece Code cleanups (#659)
* Initial automatic cleanup with rubocop

* Fix syntax error introduced by rubocop

* Cleanup seeds file

* Cleanup lib folder

* Exclude bin folder because it contains auto generated files

* Make Rubocop a little bit more chatty

* Block length should not include comments in the count

* Cleanup config folder

* Cleanup specs

* Updated Rubocop version and generated a todo file

* Fix broken ArticlesApi spec

* Fix tests

* Restored rubocop pre-commit hook
2018-08-07 11:00:13 -04:00

42 lines
1.1 KiB
Ruby

require "rails_helper"
RSpec.describe ReadingList do
let(:user) { create(:user) }
let(:article) { create(:article) }
let(:article2) { create(:article) }
let(:article3) { create(:article) }
def create_reaction(user, article)
Reaction.create!(
user_id: user.id,
reactable_id: article.id,
reactable_type: "Article",
category: "readinglist",
)
end
it "returns count of articles if they've been reacted to" do
create_reaction(user, article)
create_reaction(user, article2)
expect(described_class.new(user).count).to eq(2)
end
it "returns an article if it's been reacted to" do
create_reaction(user, article)
create_reaction(user, article2)
expect(described_class.new(user).get.first.id).to eq(article2.id)
end
it "returns cached ids of articles that have been reacted to" do
create_reaction(user, article)
create_reaction(user, article2)
expect(described_class.new(user).cached_ids_of_articles).to eq([article2.id, article.id])
end
it "returns an empty count if no reacted article" do
expect(described_class.new(user).count).to eq(0)
end
end