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