From 18358484bab86c87c481419db390c22f71c18232 Mon Sep 17 00:00:00 2001 From: Philipp Rothmann Date: Mon, 2 Jan 2023 13:01:33 +0100 Subject: [PATCH] refactor: pagination param --- spec/requests/api/article_categories_spec.rb | 3 +-- spec/requests/api/financial_transaction_classes_spec.rb | 3 +-- spec/requests/api/financial_transaction_types_spec.rb | 3 +-- spec/requests/api/financial_transactions_spec.rb | 3 +-- spec/requests/api/orders_spec.rb | 4 +--- spec/requests/api/user/financial_transactions_spec.rb | 4 +--- spec/requests/api/user/group_order_articles_spec.rb | 3 +-- spec/support/api_helper.rb | 7 ++++++- 8 files changed, 13 insertions(+), 17 deletions(-) diff --git a/spec/requests/api/article_categories_spec.rb b/spec/requests/api/article_categories_spec.rb index c8b60984..4c079ff2 100644 --- a/spec/requests/api/article_categories_spec.rb +++ b/spec/requests/api/article_categories_spec.rb @@ -7,8 +7,7 @@ describe 'Article Categories', type: :request do get 'article categories' do tags 'Category' produces 'application/json' - parameter name: "per_page", in: :query, type: :integer, required: false - parameter name: "page", in: :query, type: :integer, required: false + pagination_param let(:order_article) { create(:order, article_count: 1).order_articles.first } let(:stock_article) { create(:stock_article) } let(:stock_order_article) { create(:stock_order, article_ids: [stock_article.id]).order_articles.first } diff --git a/spec/requests/api/financial_transaction_classes_spec.rb b/spec/requests/api/financial_transaction_classes_spec.rb index 5482c10b..1eaf046f 100644 --- a/spec/requests/api/financial_transaction_classes_spec.rb +++ b/spec/requests/api/financial_transaction_classes_spec.rb @@ -7,8 +7,7 @@ describe 'Financial Transaction Classes', type: :request do get 'financial transaction classes' do tags 'Category' produces 'application/json' - parameter name: "per_page", in: :query, type: :integer, required: false - parameter name: "page", in: :query, type: :integer, required: false + pagination_param let(:financial_transaction_class) { create(:financial_transaction_class) } response '200', 'success' do diff --git a/spec/requests/api/financial_transaction_types_spec.rb b/spec/requests/api/financial_transaction_types_spec.rb index bdf8a0e1..82a30f83 100644 --- a/spec/requests/api/financial_transaction_types_spec.rb +++ b/spec/requests/api/financial_transaction_types_spec.rb @@ -7,8 +7,7 @@ describe 'Financial Transaction types', type: :request do get 'financial transaction types' do tags 'Category' produces 'application/json' - parameter name: "per_page", in: :query, type: :integer, required: false - parameter name: "page", in: :query, type: :integer, required: false + pagination_param let(:financial_transaction_type) { create(:financial_transaction_type) } response '200', 'success' do schema type: :object, properties: { diff --git a/spec/requests/api/financial_transactions_spec.rb b/spec/requests/api/financial_transactions_spec.rb index 3a741714..1d3ef2b9 100644 --- a/spec/requests/api/financial_transactions_spec.rb +++ b/spec/requests/api/financial_transactions_spec.rb @@ -11,8 +11,7 @@ describe 'Financial Transaction', type: :request do get 'financial transactions' do tags 'Financial Transaction' produces 'application/json' - parameter name: "per_page", in: :query, type: :integer, required: false - parameter name: "page", in: :query, type: :integer, required: false + pagination_param response '200', 'success' do schema type: :object, properties: { diff --git a/spec/requests/api/orders_spec.rb b/spec/requests/api/orders_spec.rb index 10495e3f..c0505d7f 100644 --- a/spec/requests/api/orders_spec.rb +++ b/spec/requests/api/orders_spec.rb @@ -8,9 +8,7 @@ describe 'Orders', type: :request do get 'orders' do tags 'Order' produces 'application/json' - parameter name: "per_page", in: :query, type: :integer, required: false - parameter name: "page", in: :query, type: :integer, required: false - + pagination_param let(:order) { create(:order) } response '200', 'success' do diff --git a/spec/requests/api/user/financial_transactions_spec.rb b/spec/requests/api/user/financial_transactions_spec.rb index d5ff820c..6bbcda47 100644 --- a/spec/requests/api/user/financial_transactions_spec.rb +++ b/spec/requests/api/user/financial_transactions_spec.rb @@ -59,9 +59,7 @@ describe 'User', type: :request do get "financial transactions of the member's ordergroup" do tags 'User', 'Financial Transaction' produces 'application/json' - parameter name: "per_page", in: :query, type: :integer, required: false - parameter name: "page", in: :query, type: :integer, required: false - + pagination_param response '200', 'success' do schema type: :object, properties: { diff --git a/spec/requests/api/user/group_order_articles_spec.rb b/spec/requests/api/user/group_order_articles_spec.rb index bad73084..205a4070 100644 --- a/spec/requests/api/user/group_order_articles_spec.rb +++ b/spec/requests/api/user/group_order_articles_spec.rb @@ -19,8 +19,7 @@ describe 'User', type: :request do get 'group order articles' do tags 'User', 'Order' produces 'application/json' - parameter name: "per_page", in: :query, type: :integer, required: false - parameter name: "page", in: :query, type: :integer, required: false + pagination_param q_ordered_url_param response '200', 'success' do diff --git a/spec/support/api_helper.rb b/spec/support/api_helper.rb index 98732a19..25576754 100644 --- a/spec/support/api_helper.rb +++ b/spec/support/api_helper.rb @@ -71,8 +71,13 @@ module ApiHelper parameter name: :id, in: :path, type: :integer, required: true end + def self.pagination_param + parameter name: :per_page, in: :query, type: :integer, required: false + parameter name: :page, in: :query, type: :integer, required: false + end + def self.q_ordered_url_param - parameter name: 'q', in: :query, required: false, + parameter name: :q, in: :query, required: false, description: "'member' show articles ordered by the user's ordergroup, 'all' by all members, and 'supplier' ordered at the supplier", schema: { '$ref' => '#/components/schemas/q_ordered' } end