commit: d2e0edd721e202a0b32485e74b4dbf95148d171e
parent: 3002a8941944a3913ee95d865894917570451c69
Author: Matt Jankowski <mjankowski@thoughtbot.com>
Date: Fri, 19 May 2017 10:55:09 -0400
Add spec coverage for regeneration worker (#3143)
Diffstat:
2 files changed, 28 insertions(+), 1 deletion(-)
diff --git 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
@@ -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