diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2016-03-20 13:03:06 +0100 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2016-03-20 13:03:06 +0100 |
commit | b640f35621b419ae9b9e621e00a8a055068ce2f4 (patch) | |
tree | 430d9b5a442a427d07135b96ac0f71fd24d4aa99 /spec/controllers/api/accounts_controller_spec.rb | |
parent | e14b76c7cb07c3ebc01a17991df9fe5b69d1b5bc (diff) |
Writing out more tests, fixed some bugs
Diffstat (limited to 'spec/controllers/api/accounts_controller_spec.rb')
-rw-r--r-- | spec/controllers/api/accounts_controller_spec.rb | 56 |
1 files changed, 50 insertions, 6 deletions
diff --git a/spec/controllers/api/accounts_controller_spec.rb b/spec/controllers/api/accounts_controller_spec.rb index 915a40a8a..7bcb1a788 100644 --- a/spec/controllers/api/accounts_controller_spec.rb +++ b/spec/controllers/api/accounts_controller_spec.rb @@ -1,27 +1,71 @@ require 'rails_helper' RSpec.describe Api::AccountsController, type: :controller do + let(:user) { Fabricate(:user, account: Fabricate(:account, username: 'alice')) } + let(:token) { double acceptable?: true, resource_owner_id: user.id } + + before do + allow(controller).to receive(:doorkeeper_token) { token } + end + describe 'GET #show' do - it 'returns http success' + it 'returns http success' do + get :show, id: user.account.id + expect(response).to have_http_status(:success) + end end describe 'GET #statuses' do - it 'returns http success' + it 'returns http success' do + get :statuses, id: user.account.id + expect(response).to have_http_status(:success) + end end describe 'GET #followers' do - it 'returns http success' + it 'returns http success' do + get :followers, id: user.account.id + expect(response).to have_http_status(:success) + end end describe 'GET #following' do - it 'returns http success' + it 'returns http success' do + get :following, id: user.account.id + expect(response).to have_http_status(:success) + end end describe 'POST #follow' do - it 'returns http success' + let(:other_account) { Fabricate(:account, username: 'bob') } + + before do + post :follow, id: other_account.id + end + + it 'returns http success' do + expect(response).to have_http_status(:success) + end + + it 'creates a following relation between user and target user' do + expect(user.account.following?(other_account)).to be true + end end describe 'POST #unfollow' do - it 'returns http success' + let(:other_account) { Fabricate(:account, username: 'bob') } + + before do + user.account.follow!(other_account) + post :unfollow, id: other_account.id + end + + it 'returns http success' do + expect(response).to have_http_status(:success) + end + + it 'removes the following relation between user and target user' do + expect(user.account.following?(other_account)).to be false + end end end |