From d2e0edd721e202a0b32485e74b4dbf95148d171e Mon Sep 17 00:00:00 2001 From: Matt Jankowski 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 0cc6b668c..8cee21ae1 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 000000000..c6bdfa0e5 --- /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