From 993c3d14d5ff5aa6c43eaeb79c55dceddca8f5da Mon Sep 17 00:00:00 2001
From: Robert Schilling <rschilling@student.tugraz.at>
Date: Mon, 20 Feb 2017 15:39:16 +0100
Subject: [PATCH] Remove shared example for pagination

---
 spec/requests/api/commit_statuses_spec.rb     |  5 +----
 spec/requests/api/deployments_spec.rb         |  4 ----
 spec/requests/api/environments_spec.rb        |  4 ----
 spec/requests/api/notes_spec.rb               |  4 ----
 spec/requests/api/pipelines_spec.rb           |  5 +----
 spec/requests/api/users_spec.rb               |  8 ++++----
 .../support/api/pagination_shared_examples.rb | 20 -------------------
 7 files changed, 6 insertions(+), 44 deletions(-)
 delete mode 100644 spec/support/api/pagination_shared_examples.rb

diff --git a/spec/requests/api/commit_statuses_spec.rb b/spec/requests/api/commit_statuses_spec.rb
index 5cba546bee2..81a8856b8f1 100644
--- a/spec/requests/api/commit_statuses_spec.rb
+++ b/spec/requests/api/commit_statuses_spec.rb
@@ -21,10 +21,6 @@ describe API::CommitStatuses, api: true do
       let!(:master) { project.pipelines.create(sha: commit.id, ref: 'master') }
       let!(:develop) { project.pipelines.create(sha: commit.id, ref: 'develop') }
 
-      it_behaves_like 'a paginated resources' do
-        let(:request) { get api(get_url, reporter) }
-      end
-
       context "reporter user" do
         let(:statuses_id) { json_response.map { |status| status['id'] } }
 
@@ -45,6 +41,7 @@ describe API::CommitStatuses, api: true do
           it 'returns latest commit statuses' do
             expect(response).to have_http_status(200)
 
+            expect(response).to include_pagination_headers
             expect(json_response).to be_an Array
             expect(statuses_id).to contain_exactly(status3.id, status4.id, status5.id, status6.id)
             json_response.sort_by!{ |status| status['id'] }
diff --git a/spec/requests/api/deployments_spec.rb b/spec/requests/api/deployments_spec.rb
index 5c4ce39f70c..e55575ffbda 100644
--- a/spec/requests/api/deployments_spec.rb
+++ b/spec/requests/api/deployments_spec.rb
@@ -14,10 +14,6 @@ describe API::Deployments, api: true  do
 
   describe 'GET /projects/:id/deployments' do
     context 'as member of the project' do
-      it_behaves_like 'a paginated resources' do
-        let(:request) { get api("/projects/#{project.id}/deployments", user) }
-      end
-
       it 'returns projects deployments' do
         get api("/projects/#{project.id}/deployments", user)
 
diff --git a/spec/requests/api/environments_spec.rb b/spec/requests/api/environments_spec.rb
index b0ee196666e..d0958d39d44 100644
--- a/spec/requests/api/environments_spec.rb
+++ b/spec/requests/api/environments_spec.rb
@@ -14,10 +14,6 @@ describe API::Environments, api: true  do
 
   describe 'GET /projects/:id/environments' do
     context 'as member of the project' do
-      it_behaves_like 'a paginated resources' do
-        let(:request) { get api("/projects/#{project.id}/environments", user) }
-      end
-
       it 'returns project environments' do
         get api("/projects/#{project.id}/environments", user)
 
diff --git a/spec/requests/api/notes_spec.rb b/spec/requests/api/notes_spec.rb
index 0d3040519bc..3cca4468be7 100644
--- a/spec/requests/api/notes_spec.rb
+++ b/spec/requests/api/notes_spec.rb
@@ -32,10 +32,6 @@ describe API::Notes, api: true  do
   before { project.team << [user, :reporter] }
 
   describe "GET /projects/:id/noteable/:noteable_id/notes" do
-    it_behaves_like 'a paginated resources' do
-      let(:request) { get api("/projects/#{project.id}/issues/#{issue.id}/notes", user) }
-    end
-
     context "when noteable is an Issue" do
       it "returns an array of issue notes" do
         get api("/projects/#{project.id}/issues/#{issue.id}/notes", user)
diff --git a/spec/requests/api/pipelines_spec.rb b/spec/requests/api/pipelines_spec.rb
index b7a0b5a9e13..98d004b572e 100644
--- a/spec/requests/api/pipelines_spec.rb
+++ b/spec/requests/api/pipelines_spec.rb
@@ -15,15 +15,12 @@ describe API::Pipelines, api: true do
   before { project.team << [user, :master] }
 
   describe 'GET /projects/:id/pipelines ' do
-    it_behaves_like 'a paginated resources' do
-      let(:request) { get api("/projects/#{project.id}/pipelines", user) }
-    end
-
     context 'authorized user' do
       it 'returns project pipelines' do
         get api("/projects/#{project.id}/pipelines", user)
 
         expect(response).to have_http_status(200)
+        expect(response).to include_pagination_headers
         expect(json_response).to be_an Array
         expect(json_response.first['sha']).to match /\A\h{40}\z/
         expect(json_response.first['id']).to eq pipeline.id
diff --git a/spec/requests/api/users_spec.rb b/spec/requests/api/users_spec.rb
index 7ece22f1934..492e851010f 100644
--- a/spec/requests/api/users_spec.rb
+++ b/spec/requests/api/users_spec.rb
@@ -1093,14 +1093,14 @@ describe API::Users, api: true  do
     end
 
     context "as a user than can see the event's project" do
-      it_behaves_like 'a paginated resources' do
-        let(:request) { get api("/users/#{user.id}/events", user) }
-      end
-
       context 'joined event' do
         it 'returns the "joined" event' do
           get api("/users/#{user.id}/events", user)
 
+          expect(response).to have_http_status(200)
+          expect(response).to include_pagination_headers
+          expect(json_response).to be_an Array
+
           comment_event = json_response.find { |e| e['action_name'] == 'commented on' }
 
           expect(comment_event['project_id'].to_i).to eq(project.id)
diff --git a/spec/support/api/pagination_shared_examples.rb b/spec/support/api/pagination_shared_examples.rb
deleted file mode 100644
index 352a6eeec79..00000000000
--- a/spec/support/api/pagination_shared_examples.rb
+++ /dev/null
@@ -1,20 +0,0 @@
-# Specs for paginated resources.
-#
-# Requires an API request:
-#   let(:request) { get api("/projects/#{project.id}/repository/branches", user) }
-shared_examples 'a paginated resources' do
-  before do
-    # Fires the request
-    request
-  end
-
-  it 'has pagination headers' do
-    expect(response.headers).to include('X-Total')
-    expect(response.headers).to include('X-Total-Pages')
-    expect(response.headers).to include('X-Per-Page')
-    expect(response.headers).to include('X-Page')
-    expect(response.headers).to include('X-Next-Page')
-    expect(response.headers).to include('X-Prev-Page')
-    expect(response.headers).to include('Link')
-  end
-end
-- 
GitLab