summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2015-01-17 12:45:29 -0700
committermo khan <mo@mokhan.ca>2015-01-17 12:45:29 -0700
commit64dfdf7a64ff4603d2ab63bc058e0ef5e429e2dd (patch)
treed65513a30dafc82f66481e52fc2a9ed6c5ce5f32 /spec
parenta6a88ffb8e8ac22eb7c487be584576ab070fc521 (diff)
create job to process avatars.
Diffstat (limited to 'spec')
-rw-r--r--spec/jobs/process_avatar_job_spec.rb27
1 files changed, 27 insertions, 0 deletions
diff --git a/spec/jobs/process_avatar_job_spec.rb b/spec/jobs/process_avatar_job_spec.rb
new file mode 100644
index 00000000..2dda7fff
--- /dev/null
+++ b/spec/jobs/process_avatar_job_spec.rb
@@ -0,0 +1,27 @@
+require 'rails_helper'
+
+RSpec.describe ProcessAvatarJob, type: :job do
+ subject { ProcessAvatarJob.new }
+
+ describe "#perform" do
+ let(:blob_storage) { double }
+ let(:user) { build(:user) }
+ let(:file_path) { '/Users/blah/eicar' }
+ let(:avatar) { Photo.new }
+
+ before :each do
+ allow(subject).to receive(:blob_storage).and_return(blob_storage)
+ end
+
+ it 'uploads the new avatar' do
+ allow(Photo).to receive(:create!).and_return(avatar)
+ allow(avatar).to receive(:upload)
+ allow(avatar).to receive(:save!)
+
+ subject.perform(user, file_path)
+
+ expect(avatar).to have_received(:upload).with(file_path, blob_storage)
+ expect(avatar).to have_received(:save!)
+ end
+ end
+end