From d2e0edd721e202a0b32485e74b4dbf95148d171e Mon Sep 17 00:00:00 2001
From: Matt Jankowski <mjankowski@thoughtbot.com>
Date: Fri, 19 May 2017 10:55:09 -0400
Subject: [PATCH] Add spec coverage for regeneration worker (#3143)

---
 app/workers/regeneration_worker.rb       |  3 ++-
 spec/workers/regeneration_worker_spec.rb | 26 ++++++++++++++++++++++++
 2 files changed, 28 insertions(+), 1 deletion(-)
 create mode 100644 spec/workers/regeneration_worker_spec.rb

diff --git a/app/workers/regeneration_worker.rb b/app/workers/regeneration_worker.rb
index 0cc6b668c4..8cee21ae1f 100644
--- a/app/workers/regeneration_worker.rb
+++ b/app/workers/regeneration_worker.rb
@@ -7,7 +7,8 @@ class RegenerationWorker
 
   def perform(account_id, _ = :home)
     account = Account.find(account_id)
-
     PrecomputeFeedService.new.call(account)
+  rescue ActiveRecord::RecordNotFound
+    true
   end
 end
diff --git a/spec/workers/regeneration_worker_spec.rb b/spec/workers/regeneration_worker_spec.rb
new file mode 100644
index 0000000000..c6bdfa0e5e
--- /dev/null
+++ b/spec/workers/regeneration_worker_spec.rb
@@ -0,0 +1,26 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe RegenerationWorker do
+  subject { described_class.new }
+
+  describe 'perform' do
+    let(:account) { Fabricate(:account) }
+
+    it 'calls the precompute feed service for the account' do
+      service = double(call: nil)
+      allow(PrecomputeFeedService).to receive(:new).and_return(service)
+      result = subject.perform(account.id)
+
+      expect(result).to be_nil
+      expect(service).to have_received(:call).with(account)
+    end
+
+    it 'fails when account does not exist' do
+      result = subject.perform('aaa')
+
+      expect(result).to eq(true)
+    end
+  end
+end
-- 
GitLab