Skip to content

Commit

Permalink
DEV: correct heisentest testing for avatars
Browse files Browse the repository at this point in the history
If for some reason we created andupload with id 1 in the test then the
test would fail. This can happen if this is the absolute first test to
run on the db.

Fix sets the upload to a legitimate which in turn means the last upload
will not be upload id 1 and stops using id hard coding for the testing.
  • Loading branch information
SamSaffron committed Feb 1, 2019
1 parent bbaa3e9 commit a84aaf1
Showing 1 changed file with 10 additions and 4 deletions.
14 changes: 10 additions & 4 deletions spec/models/user_avatar_spec.rb
Expand Up @@ -125,8 +125,10 @@
end

it 'can leave gravatar alone' do
user = Fabricate(:user, uploaded_avatar_id: 1)
user.user_avatar.update_columns(gravatar_upload_id: 1)
upload = Fabricate(:upload)

user = Fabricate(:user, uploaded_avatar_id: upload.id)
user.user_avatar.update_columns(gravatar_upload_id: upload.id)

stub_request(:get, "http://thisfakesomething.something.com/")
.to_return(status: 200, body: file_from_fixtures("logo.png"), headers: {})
Expand All @@ -138,8 +140,12 @@
end.to change { Upload.count }.by(1)

user.reload
expect(user.uploaded_avatar_id).to eq(1)
expect(user.user_avatar.custom_upload_id).to eq(Upload.last.id)
expect(user.uploaded_avatar_id).to eq(upload.id)

last_id = Upload.last.id

expect(last_id).not_to eq(upload.id)
expect(user.user_avatar.custom_upload_id).to eq(last_id)
end

describe 'when avatar url returns an invalid status code' do
Expand Down

0 comments on commit a84aaf1

Please sign in to comment.