about summary refs log tree commit diff
path: root/spec
diff options
context:
space:
mode:
Diffstat (limited to 'spec')
-rw-r--r--spec/controllers/api/v1/statuses/bookmarks_controller_spec.rb67
-rw-r--r--spec/controllers/api/v1/statuses/favourites_controller_spec.rb86
-rw-r--r--spec/controllers/api/v1/statuses/reblogs_controller_spec.rb86
-rw-r--r--spec/controllers/auth/registrations_controller_spec.rb28
4 files changed, 76 insertions, 191 deletions
diff --git a/spec/controllers/api/v1/statuses/bookmarks_controller_spec.rb b/spec/controllers/api/v1/statuses/bookmarks_controller_spec.rb
index aa5ca433f..b79853718 100644
--- a/spec/controllers/api/v1/statuses/bookmarks_controller_spec.rb
+++ b/spec/controllers/api/v1/statuses/bookmarks_controller_spec.rb
@@ -21,67 +21,36 @@ describe Api::V1::Statuses::BookmarksController do
         post :create, params: { status_id: status.id }
       end
 
-      context 'with public status' do
-        it 'returns http success' do
-          expect(response).to have_http_status(:success)
-        end
-
-        it 'updates the bookmarked attribute' do
-          expect(user.account.bookmarked?(status)).to be true
-        end
-
-        it 'returns json with updated attributes' do
-          hash_body = body_as_json
+      it 'returns http success' do
+        expect(response).to have_http_status(:success)
+      end
 
-          expect(hash_body[:id]).to eq status.id.to_s
-          expect(hash_body[:bookmarked]).to be true
-        end
+      it 'updates the bookmarked attribute' do
+        expect(user.account.bookmarked?(status)).to be true
       end
 
-      context 'with private status of not-followed account' do
-        let(:status) { Fabricate(:status, visibility: :private) }
+      it 'return json with updated attributes' do
+        hash_body = body_as_json
 
-        it 'returns http not found' do
-          expect(response).to have_http_status(404)
-        end
+        expect(hash_body[:id]).to eq status.id.to_s
+        expect(hash_body[:bookmarked]).to be true
       end
     end
 
     describe 'POST #destroy' do
-      context 'with public status' do
-        let(:status) { Fabricate(:status, account: user.account) }
-
-        before do
-          Bookmark.find_or_create_by!(account: user.account, status: status)
-          post :destroy, params: { status_id: status.id }
-        end
-
-        it 'returns http success' do
-          expect(response).to have_http_status(:success)
-        end
-
-        it 'updates the bookmarked attribute' do
-          expect(user.account.bookmarked?(status)).to be false
-        end
-
-        it 'returns json with updated attributes' do
-          hash_body = body_as_json
+      let(:status) { Fabricate(:status, account: user.account) }
 
-          expect(hash_body[:id]).to eq status.id.to_s
-          expect(hash_body[:bookmarked]).to be false
-        end
+      before do
+        Bookmark.find_or_create_by!(account: user.account, status: status)
+        post :destroy, params: { status_id: status.id }
       end
 
-      context 'with private status that was not bookmarked' do
-        let(:status) { Fabricate(:status, visibility: :private) }
-
-        before do
-          post :destroy, params: { status_id: status.id }
-        end
+      it 'returns http success' do
+        expect(response).to have_http_status(:success)
+      end
 
-        it 'returns http not found' do
-          expect(response).to have_http_status(404)
-        end
+      it 'updates the bookmarked attribute' do
+        expect(user.account.bookmarked?(status)).to be false
       end
     end
   end
diff --git a/spec/controllers/api/v1/statuses/favourites_controller_spec.rb b/spec/controllers/api/v1/statuses/favourites_controller_spec.rb
index 6e947f5d2..24a760e20 100644
--- a/spec/controllers/api/v1/statuses/favourites_controller_spec.rb
+++ b/spec/controllers/api/v1/statuses/favourites_controller_spec.rb
@@ -21,77 +21,45 @@ describe Api::V1::Statuses::FavouritesController do
         post :create, params: { status_id: status.id }
       end
 
-      context 'with public status' do
-        it 'returns http success' do
-          expect(response).to have_http_status(200)
-        end
-
-        it 'updates the favourites count' do
-          expect(status.favourites.count).to eq 1
-        end
-
-        it 'updates the favourited attribute' do
-          expect(user.account.favourited?(status)).to be true
-        end
-
-        it 'returns json with updated attributes' do
-          hash_body = body_as_json
-
-          expect(hash_body[:id]).to eq status.id.to_s
-          expect(hash_body[:favourites_count]).to eq 1
-          expect(hash_body[:favourited]).to be true
-        end
+      it 'returns http success' do
+        expect(response).to have_http_status(200)
       end
 
-      context 'with private status of not-followed account' do
-        let(:status) { Fabricate(:status, visibility: :private) }
-
-        it 'returns http not found' do
-          expect(response).to have_http_status(404)
-        end
+      it 'updates the favourites count' do
+        expect(status.favourites.count).to eq 1
       end
-    end
-
-    describe 'POST #destroy' do
-      context 'with public status' do
-        let(:status) { Fabricate(:status, account: user.account) }
 
-        before do
-          FavouriteService.new.call(user.account, status)
-          post :destroy, params: { status_id: status.id }
-        end
-
-        it 'returns http success' do
-          expect(response).to have_http_status(200)
-        end
+      it 'updates the favourited attribute' do
+        expect(user.account.favourited?(status)).to be true
+      end
 
-        it 'updates the favourites count' do
-          expect(status.favourites.count).to eq 0
-        end
+      it 'return json with updated attributes' do
+        hash_body = body_as_json
 
-        it 'updates the favourited attribute' do
-          expect(user.account.favourited?(status)).to be false
-        end
+        expect(hash_body[:id]).to eq status.id.to_s
+        expect(hash_body[:favourites_count]).to eq 1
+        expect(hash_body[:favourited]).to be true
+      end
+    end
 
-        it 'returns json with updated attributes' do
-          hash_body = body_as_json
+    describe 'POST #destroy' do
+      let(:status) { Fabricate(:status, account: user.account) }
 
-          expect(hash_body[:id]).to eq status.id.to_s
-          expect(hash_body[:favourites_count]).to eq 0
-          expect(hash_body[:favourited]).to be false
-        end
+      before do
+        FavouriteService.new.call(user.account, status)
+        post :destroy, params: { status_id: status.id }
       end
 
-      context 'with private status that was not favourited' do
-        let(:status) { Fabricate(:status, visibility: :private) }
+      it 'returns http success' do
+        expect(response).to have_http_status(200)
+      end
 
-        before do
-          post :destroy, params: { status_id: status.id }
-        end
+      it 'updates the favourites count' do
+        expect(status.favourites.count).to eq 0
+      end
 
-        it 'returns http not found' do
-          expect(response).to have_http_status(404)
-        end
+      it 'updates the favourited attribute' do
+        expect(user.account.favourited?(status)).to be false
       end
     end
   end
diff --git a/spec/controllers/api/v1/statuses/reblogs_controller_spec.rb b/spec/controllers/api/v1/statuses/reblogs_controller_spec.rb
index 93b244cc3..d14ca3e8b 100644
--- a/spec/controllers/api/v1/statuses/reblogs_controller_spec.rb
+++ b/spec/controllers/api/v1/statuses/reblogs_controller_spec.rb
@@ -21,77 +21,45 @@ describe Api::V1::Statuses::ReblogsController do
         post :create, params: { status_id: status.id }
       end
 
-      context 'with public status' do
-        it 'returns http success' do
-          expect(response).to have_http_status(200)
-        end
-
-        it 'updates the reblogs count' do
-          expect(status.reblogs.count).to eq 1
-        end
-
-        it 'updates the reblogged attribute' do
-          expect(user.account.reblogged?(status)).to be true
-        end
-
-        it 'returns json with updated attributes' do
-          hash_body = body_as_json
-
-          expect(hash_body[:reblog][:id]).to eq status.id.to_s
-          expect(hash_body[:reblog][:reblogs_count]).to eq 1
-          expect(hash_body[:reblog][:reblogged]).to be true
-        end
+      it 'returns http success' do
+        expect(response).to have_http_status(200)
       end
 
-      context 'with private status of not-followed account' do
-        let(:status) { Fabricate(:status, visibility: :private) }
-
-        it 'returns http not found' do
-          expect(response).to have_http_status(404)
-        end
+      it 'updates the reblogs count' do
+        expect(status.reblogs.count).to eq 1
       end
-    end
-
-    describe 'POST #destroy' do
-      context 'with public status' do
-        let(:status) { Fabricate(:status, account: user.account) }
 
-        before do
-          ReblogService.new.call(user.account, status)
-          post :destroy, params: { status_id: status.id }
-        end
-
-        it 'returns http success' do
-          expect(response).to have_http_status(200)
-        end
+      it 'updates the reblogged attribute' do
+        expect(user.account.reblogged?(status)).to be true
+      end
 
-        it 'updates the reblogs count' do
-          expect(status.reblogs.count).to eq 0
-        end
+      it 'return json with updated attributes' do
+        hash_body = body_as_json
 
-        it 'updates the reblogged attribute' do
-          expect(user.account.reblogged?(status)).to be false
-        end
+        expect(hash_body[:reblog][:id]).to eq status.id.to_s
+        expect(hash_body[:reblog][:reblogs_count]).to eq 1
+        expect(hash_body[:reblog][:reblogged]).to be true
+      end
+    end
 
-        it 'returns json with updated attributes' do
-          hash_body = body_as_json
+    describe 'POST #destroy' do
+      let(:status) { Fabricate(:status, account: user.account) }
 
-          expect(hash_body[:id]).to eq status.id.to_s
-          expect(hash_body[:reblogs_count]).to eq 0
-          expect(hash_body[:reblogged]).to be false
-        end
+      before do
+        ReblogService.new.call(user.account, status)
+        post :destroy, params: { status_id: status.id }
       end
 
-      context 'with private status that was not reblogged' do
-        let(:status) { Fabricate(:status, visibility: :private) }
+      it 'returns http success' do
+        expect(response).to have_http_status(200)
+      end
 
-        before do
-          post :destroy, params: { status_id: status.id }
-        end
+      it 'updates the reblogs count' do
+        expect(status.reblogs.count).to eq 0
+      end
 
-        it 'returns http not found' do
-          expect(response).to have_http_status(404)
-        end
+      it 'updates the reblogged attribute' do
+        expect(user.account.reblogged?(status)).to be false
       end
     end
   end
diff --git a/spec/controllers/auth/registrations_controller_spec.rb b/spec/controllers/auth/registrations_controller_spec.rb
index c2e9f33a8..3e11b34b5 100644
--- a/spec/controllers/auth/registrations_controller_spec.rb
+++ b/spec/controllers/auth/registrations_controller_spec.rb
@@ -100,7 +100,7 @@ RSpec.describe Auth::RegistrationsController, type: :controller do
       subject do
         Setting.registrations_mode = 'open'
         request.headers["Accept-Language"] = accept_language
-        post :create, params: { user: { account_attributes: { username: 'test' }, email: 'test@example.com', password: '12345678', password_confirmation: '12345678', agreement: 'true' } }
+        post :create, params: { user: { account_attributes: { username: 'test' }, email: 'test@example.com', password: '12345678', password_confirmation: '12345678' } }
       end
 
       it 'redirects to setup' do
@@ -116,26 +116,6 @@ RSpec.describe Auth::RegistrationsController, type: :controller do
       end
     end
 
-    context 'when user has not agreed to terms of service' do
-      around do |example|
-        registrations_mode = Setting.registrations_mode
-        example.run
-        Setting.registrations_mode = registrations_mode
-      end
-
-      subject do
-        Setting.registrations_mode = 'open'
-        request.headers["Accept-Language"] = accept_language
-        post :create, params: { user: { account_attributes: { username: 'test' }, email: 'test@example.com', password: '12345678', password_confirmation: '12345678', agreement: 'false' } }
-      end
-
-      it 'does not create user' do
-        subject
-        user = User.find_by(email: 'test@example.com')
-        expect(user).to be_nil
-      end
-    end
-
     context 'approval-based registrations without invite' do
       around do |example|
         registrations_mode = Setting.registrations_mode
@@ -146,7 +126,7 @@ RSpec.describe Auth::RegistrationsController, type: :controller do
       subject do
         Setting.registrations_mode = 'approved'
         request.headers["Accept-Language"] = accept_language
-        post :create, params: { user: { account_attributes: { username: 'test' }, email: 'test@example.com', password: '12345678', password_confirmation: '12345678', agreement: 'true' } }
+        post :create, params: { user: { account_attributes: { username: 'test' }, email: 'test@example.com', password: '12345678', password_confirmation: '12345678' } }
       end
 
       it 'redirects to setup' do
@@ -174,7 +154,7 @@ RSpec.describe Auth::RegistrationsController, type: :controller do
         Setting.registrations_mode = 'approved'
         request.headers["Accept-Language"] = accept_language
         invite = Fabricate(:invite, max_uses: nil, expires_at: 1.hour.ago)
-        post :create, params: { user: { account_attributes: { username: 'test' }, email: 'test@example.com', password: '12345678', password_confirmation: '12345678', 'invite_code': invite.code, agreement: 'true' } }
+        post :create, params: { user: { account_attributes: { username: 'test' }, email: 'test@example.com', password: '12345678', password_confirmation: '12345678', 'invite_code': invite.code } }
       end
 
       it 'redirects to setup' do
@@ -202,7 +182,7 @@ RSpec.describe Auth::RegistrationsController, type: :controller do
         Setting.registrations_mode = 'approved'
         request.headers["Accept-Language"] = accept_language
         invite = Fabricate(:invite, max_uses: nil, expires_at: 1.hour.from_now)
-        post :create, params: { user: { account_attributes: { username: 'test' }, email: 'test@example.com', password: '12345678', password_confirmation: '12345678', 'invite_code': invite.code, agreement: 'true' } }
+        post :create, params: { user: { account_attributes: { username: 'test' }, email: 'test@example.com', password: '12345678', password_confirmation: '12345678', 'invite_code': invite.code } }
       end
 
       it 'redirects to setup' do