diff options
author | Jenkins <jenkins@jenkins.ninjawedding.org> | 2018-06-14 06:17:24 +0000 |
---|---|---|
committer | Jenkins <jenkins@jenkins.ninjawedding.org> | 2018-06-14 06:17:24 +0000 |
commit | afceef74c2377192f100b9307068895ec0ec7d45 (patch) | |
tree | 7191360d84ea8430a9a3c0de4c57ccf44f3114e0 /spec/controllers | |
parent | 9d2b7ef9f8c31c9c113b655b51681a6ed499f9c4 (diff) | |
parent | f972815f1bdc7a9ca198da938471c1299a96b401 (diff) |
Merge remote-tracking branch 'tootsuite/master' into glitchsoc/master
Diffstat (limited to 'spec/controllers')
-rw-r--r-- | spec/controllers/follower_accounts_controller_spec.rb | 45 | ||||
-rw-r--r-- | spec/controllers/following_accounts_controller_spec.rb | 45 |
2 files changed, 72 insertions, 18 deletions
diff --git a/spec/controllers/follower_accounts_controller_spec.rb b/spec/controllers/follower_accounts_controller_spec.rb index 3a42a6e18..83032ab64 100644 --- a/spec/controllers/follower_accounts_controller_spec.rb +++ b/spec/controllers/follower_accounts_controller_spec.rb @@ -8,18 +8,45 @@ describe FollowerAccountsController do let(:follower1) { Fabricate(:account) } describe 'GET #index' do - it 'assigns follows' do - follow0 = follower0.follow!(alice) - follow1 = follower1.follow!(alice) + let!(:follow0) { follower0.follow!(alice) } + let!(:follow1) { follower1.follow!(alice) } - get :index, params: { account_username: alice.username } + context 'when format is html' do + subject(:response) { get :index, params: { account_username: alice.username, format: :html } } - assigned = assigns(:follows).to_a - expect(assigned.size).to eq 2 - expect(assigned[0]).to eq follow1 - expect(assigned[1]).to eq follow0 + it 'assigns follows' do + expect(response).to have_http_status(200) - expect(response).to have_http_status(200) + assigned = assigns(:follows).to_a + expect(assigned.size).to eq 2 + expect(assigned[0]).to eq follow1 + expect(assigned[1]).to eq follow0 + end + end + + context 'when format is json' do + subject(:response) { get :index, params: { account_username: alice.username, page: page, format: :json } } + subject(:body) { JSON.parse(response.body) } + + context 'with page' do + let(:page) { 1 } + + it 'returns followers' do + expect(response).to have_http_status(200) + expect(body['totalItems']).to eq 2 + expect(body['partOf']).to be_present + end + end + + context 'without page' do + let(:page) { nil } + + it 'returns followers' do + expect(response).to have_http_status(200) + expect(body['totalItems']).to eq 2 + expect(body['partOf']).to be_blank + end + end end end end diff --git a/spec/controllers/following_accounts_controller_spec.rb b/spec/controllers/following_accounts_controller_spec.rb index 33376365d..d5e4ee587 100644 --- a/spec/controllers/following_accounts_controller_spec.rb +++ b/spec/controllers/following_accounts_controller_spec.rb @@ -8,18 +8,45 @@ describe FollowingAccountsController do let(:followee1) { Fabricate(:account) } describe 'GET #index' do - it 'assigns followees' do - follow0 = alice.follow!(followee0) - follow1 = alice.follow!(followee1) + let!(:follow0) { alice.follow!(followee0) } + let!(:follow1) { alice.follow!(followee1) } - get :index, params: { account_username: alice.username } + context 'when format is html' do + subject(:response) { get :index, params: { account_username: alice.username, format: :html } } - assigned = assigns(:follows).to_a - expect(assigned.size).to eq 2 - expect(assigned[0]).to eq follow1 - expect(assigned[1]).to eq follow0 + it 'assigns follows' do + expect(response).to have_http_status(200) - expect(response).to have_http_status(200) + assigned = assigns(:follows).to_a + expect(assigned.size).to eq 2 + expect(assigned[0]).to eq follow1 + expect(assigned[1]).to eq follow0 + end + end + + context 'when format is json' do + subject(:response) { get :index, params: { account_username: alice.username, page: page, format: :json } } + subject(:body) { JSON.parse(response.body) } + + context 'with page' do + let(:page) { 1 } + + it 'returns followers' do + expect(response).to have_http_status(200) + expect(body['totalItems']).to eq 2 + expect(body['partOf']).to be_present + end + end + + context 'without page' do + let(:page) { nil } + + it 'returns followers' do + expect(response).to have_http_status(200) + expect(body['totalItems']).to eq 2 + expect(body['partOf']).to be_blank + end + end end end end |