about summary refs log tree commit diff
path: root/spec/controllers/api/v1
diff options
context:
space:
mode:
authoraschmitz <andy.schmitz@gmail.com>2017-12-06 09:10:54 -0600
committerEugen Rochko <eugen@zeonfederated.com>2017-12-06 16:10:54 +0100
commit4de211b80abe7ea5578988040f004ea1f78d4628 (patch)
tree814edc2f576206ec42782911943e0d45ff9838df /spec/controllers/api/v1
parent063a1c2a8bfaa76215537a8ce7d433cda5ce9755 (diff)
Break out nested relationship API keys (#5887)
* Break out nested relationship API keys

This closes #5856 by restoring the existing behavior of the `muting`
and `following` keys (returning booleans rather than truthy or false).
It adds `showing_reblogs` and `muting_notifications` keys:

* `showing_reblogs` returns true if:
  1. You've requested to follow the user, with reblogs shown, or
  2. You are following the user, with reblogs shown.
* `muting_notifications` returns true if you have muted the user and
  their notifications as well.

* Rubocop fix

* Fix pulling reblog/mute status from relationships

I could swear this had passed tests before, but apparently not.
Works now.

* More test fixes

Really, you'd expect this to be more straightforward.
Diffstat (limited to 'spec/controllers/api/v1')
-rw-r--r--spec/controllers/api/v1/accounts/relationships_controller_spec.rb6
-rw-r--r--spec/controllers/api/v1/accounts_controller_spec.rb8
2 files changed, 8 insertions, 6 deletions
diff --git a/spec/controllers/api/v1/accounts/relationships_controller_spec.rb b/spec/controllers/api/v1/accounts/relationships_controller_spec.rb
index f25b86ac1..508415fc8 100644
--- a/spec/controllers/api/v1/accounts/relationships_controller_spec.rb
+++ b/spec/controllers/api/v1/accounts/relationships_controller_spec.rb
@@ -32,7 +32,7 @@ describe Api::V1::Accounts::RelationshipsController do
         json = body_as_json
 
         expect(json).to be_a Enumerable
-        expect(json.first[:following]).to be_truthy
+        expect(json.first[:following]).to be true
         expect(json.first[:followed_by]).to be false
       end
     end
@@ -51,7 +51,8 @@ describe Api::V1::Accounts::RelationshipsController do
 
         expect(json).to be_a Enumerable
         expect(json.first[:id]).to eq simon.id.to_s
-        expect(json.first[:following]).to be_truthy
+        expect(json.first[:following]).to be true
+        expect(json.first[:showing_reblogs]).to be true
         expect(json.first[:followed_by]).to be false
         expect(json.first[:muting]).to be false
         expect(json.first[:requested]).to be false
@@ -59,6 +60,7 @@ describe Api::V1::Accounts::RelationshipsController do
 
         expect(json.second[:id]).to eq lewis.id.to_s
         expect(json.second[:following]).to be false
+        expect(json.second[:showing_reblogs]).to be false
         expect(json.second[:followed_by]).to be true
         expect(json.second[:muting]).to be false
         expect(json.second[:requested]).to be false
diff --git a/spec/controllers/api/v1/accounts_controller_spec.rb b/spec/controllers/api/v1/accounts_controller_spec.rb
index f3b879421..053c53e5a 100644
--- a/spec/controllers/api/v1/accounts_controller_spec.rb
+++ b/spec/controllers/api/v1/accounts_controller_spec.rb
@@ -31,10 +31,10 @@ RSpec.describe Api::V1::AccountsController, type: :controller do
         expect(response).to have_http_status(:success)
       end
 
-      it 'returns JSON with following=truthy and requested=false' do
+      it 'returns JSON with following=true and requested=false' do
         json = body_as_json
 
-        expect(json[:following]).to be_truthy
+        expect(json[:following]).to be true
         expect(json[:requested]).to be false
       end
 
@@ -50,11 +50,11 @@ RSpec.describe Api::V1::AccountsController, type: :controller do
         expect(response).to have_http_status(:success)
       end
 
-      it 'returns JSON with following=false and requested=truthy' do
+      it 'returns JSON with following=false and requested=true' do
         json = body_as_json
 
         expect(json[:following]).to be false
-        expect(json[:requested]).to be_truthy
+        expect(json[:requested]).to be true
       end
 
       it 'creates a follow request relation between user and target user' do