diff options
author | Eugen <eugen@zeonfederated.com> | 2017-04-09 20:23:14 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-09 20:23:14 +0200 |
commit | 15d442cf9dcd0ba5958be54c285dfeb32276190e (patch) | |
tree | dc1f60cc77ba70f61614c75224c0c3f1e7fdf7ab /spec/controllers/api/v1 | |
parent | 43f955e31f6e174428de01c6fe6f518836e64ead (diff) |
Fix /api/v1/accounts/update_credentials tests (#1357)
Diffstat (limited to 'spec/controllers/api/v1')
-rw-r--r-- | spec/controllers/api/v1/accounts_controller_spec.rb | 56 |
1 files changed, 31 insertions, 25 deletions
diff --git a/spec/controllers/api/v1/accounts_controller_spec.rb b/spec/controllers/api/v1/accounts_controller_spec.rb index 98c87bf16..ed49779b4 100644 --- a/spec/controllers/api/v1/accounts_controller_spec.rb +++ b/spec/controllers/api/v1/accounts_controller_spec.rb @@ -25,35 +25,41 @@ RSpec.describe Api::V1::AccountsController, type: :controller do end describe 'PATCH #update_credentials' do - it 'returns http success' do - expect(user.account.avatar).not_to exist - expect(user.account.header).not_to exist - - avatar = File.read(Rails.root.join('app', 'assets', 'images', 'logo.png')) - header = File.read(Rails.root.join('app', 'assets', 'images', 'mastodon-getting-started.png')) - params = { - display_name: "Alice Isn't Dead", - note: "Hi!\n\nToot toot!", - avatar: "data:image/png;base64,#{Base64.encode64(avatar)}", - header: "data:image/png;base64,#{Base64.encode64(header)}" - } - patch :update_credentials, params: params - expect(response).to have_http_status(:success) + describe 'with valid data' do + before do + avatar = File.read(Rails.root.join('app', 'assets', 'images', 'logo.png')) + header = File.read(Rails.root.join('app', 'assets', 'images', 'mastodon-getting-started.png')) + + patch :update_credentials, params: { + display_name: "Alice Isn't Dead", + note: "Hi!\n\nToot toot!", + avatar: "data:image/png;base64,#{Base64.encode64(avatar)}", + header: "data:image/png;base64,#{Base64.encode64(header)}", + } + end - user.reload + it 'returns http success' do + expect(response).to have_http_status(:success) + end - expect(user.account.display_name).to eq("Alice Isn't Dead") - expect(user.account.note).to eq("Hi!\n\nToot toot!") - expect(user.account.avatar).to exist - expect(user.account.header).to exist + it 'updates account info' do + user.account.reload + + expect(user.account.display_name).to eq("Alice Isn't Dead") + expect(user.account.note).to eq("Hi!\n\nToot toot!") + expect(user.account.avatar).to exist + expect(user.account.header).to exist + end end - it 'respects Account validations' do - note = "This is too long. " * 10 - error = { error: 'The account could not be updated: Note is too long (maximum is 160 characters)' }.to_json - patch :update_credentials, params: { note: note } - expect(response).to have_http_status(:unprocessable_entity) - expect(response.body).to eq(error) + describe 'with invalid data' do + before do + patch :update_credentials, params: { note: 'This is too long. ' * 10 } + end + + it 'returns http unprocessable entity' do + expect(response).to have_http_status(:unprocessable_entity) + end end end |