master
 1require 'rails_helper'
 2
 3RSpec.describe ProcessAvatarJob, type: :job do
 4  subject { ProcessAvatarJob.new }
 5
 6  describe "#perform" do
 7    let(:blob_storage) { double }
 8    let(:user) { build(:user)  }
 9    let(:file_path) { '/Users/blah/eicar' }
10    let(:avatar) { Photo.new }
11
12    before :each do
13      allow(subject).to receive(:blob_storage).and_return(blob_storage)
14    end
15
16    it 'uploads the new avatar' do
17      allow(Photo).to receive(:create!).and_return(avatar)
18      allow(avatar).to receive(:upload)
19      allow(avatar).to receive(:save!)
20
21      subject.perform(user, file_path)
22
23      expect(avatar).to have_received(:upload).with(file_path, blob_storage)
24      expect(avatar).to have_received(:save!)
25    end
26  end
27end