docbrown/spec/models/article_destroy_spec.rb
Anna Buianova e45c61a308 Bust cache on article destroy instead of resave articles #1621 (#1801)
* Bust cache on article destroy instead of resave articles

* Change articles delayed job queue
2019-02-23 19:41:06 -08:00

31 lines
1.1 KiB
Ruby

require "rails_helper"
RSpec.describe Article, type: :model do
before { ActiveJob::Base.queue_adapter = :test }
context "when no organization" do
let(:article) { create(:article) }
before { create(:reaction, reactable: article) }
it "doesn't create ScoreCalcJob on destroy" do
expect { article.destroy }.not_to have_enqueued_job(Articles::ScoreCalcJob)
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
expect do
article.destroy
end.to have_enqueued_job(Articles::BustCacheJob).exactly(:once).
with([user_article.id, org_user_article.id, org_article.id].sort)
end
end
end