docbrown/spec/models/article_destroy_spec.rb
Mac Siri 842e6880b8
Routine rubocop fix on /spec (#19217)
* Softrun rubocop

* Hardrun rubocop (-A)

* Change a rubocop rule

* Add missing cops

* Undo & redo rubocop -A
2023-03-21 09:55:26 -04:00

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