* Softrun rubocop * Hardrun rubocop (-A) * Change a rubocop rule * Add missing cops * Undo & redo rubocop -A
33 lines
1.2 KiB
Ruby
33 lines
1.2 KiB
Ruby
require "rails_helper"
|
|
|
|
RSpec.describe Article do
|
|
context "when no organization" do
|
|
# Setting published explicitly to true to pass guard clause in the async_score_calc method on
|
|
# the Article model that returns early if the article is unpublished
|
|
let(:article) { create(:article, published: true) }
|
|
|
|
before { create(:reaction, reactable: article) }
|
|
|
|
it "doesn't create ScoreCalcWorker on destroy" do
|
|
sidekiq_assert_no_enqueued_jobs(only: Articles::ScoreCalcWorker) do
|
|
article.destroy
|
|
end
|
|
end
|
|
end
|
|
|
|
context "with organization" do
|
|
let(:user) { create(:user) }
|
|
let(:organization) { create(:organization) }
|
|
let!(:article) { create(:article, organization: organization, user: user) }
|
|
let!(:org_article) { create(:article, organization: organization) }
|
|
let!(:user_article) { create(:article, user: user) }
|
|
let!(:org_user_article) { create(:article, user: user, organization: organization) }
|
|
|
|
it "queues BustCacheJob with user and organization article_ids" do
|
|
sidekiq_assert_enqueued_with(job: Articles::BustMultipleCachesWorker,
|
|
args: [[user_article.id, org_user_article.id, org_article.id].sort]) do
|
|
article.destroy
|
|
end
|
|
end
|
|
end
|
|
end
|