Sha256: e8dd43fdf257abffcaf7d4b35489ae374b6f2ab890651209981e5739f2bf94f7

Contents?: true

Size: 1.92 KB

Versions: 8

Compression:

Stored size: 1.92 KB

Contents

RSpec.describe PowerApi::GeneratorHelper::PaginationHelper, type: :generator do
  describe "#api_pagination_initializer_path" do
    let(:expected_path) { "config/initializers/api_pagination.rb" }

    def perform
      generators_helper.api_pagination_initializer_path
    end

    it { expect(perform).to eq(expected_path) }
  end

  describe "api_pagination_initializer_tpl" do
    let(:template) do
      <<~API_PAGINATION
        ApiPagination.configure do |config|
          # If you have more than one gem included, you can choose a paginator.
          config.paginator = :kaminari

          # By default, this is set to 'Total'
          config.total_header = 'X-Total'

          # By default, this is set to 'Per-Page'
          config.per_page_header = 'X-Per-Page'

          # Optional: set this to add a header with the current page number.
          config.page_header = 'X-Page'

          # Optional: set this to add other response format. Useful with tools that define :jsonapi format
          # config.response_formats = [:json, :xml, :jsonapi]
          config.response_formats = [:jsonapi]

          # Optional: what parameter should be used to set the page option
          config.page_param do |params|
            params[:page][:number] if params[:page].is_a?(ActionController::Parameters)
          end

          # Optional: what parameter should be used to set the per page option
          config.per_page_param do |params|
            params[:page][:size] if params[:page].is_a?(ActionController::Parameters)
          end

          # Optional: Include the total and last_page link header
          # By default, this is set to true
          # Note: When using kaminari, this prevents the count call to the database
          config.include_total = true
        end
      API_PAGINATION
    end

    def perform
      generators_helper.api_pagination_initializer_tpl
    end

    it { expect(perform).to eq(template) }
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
power_api-2.1.1 spec/dummy/spec/lib/power_api/generator_helper/pagination_helper_spec.rb
power_api-2.1.0 spec/dummy/spec/lib/power_api/generator_helper/pagination_helper_spec.rb
power_api-2.0.2 spec/dummy/spec/lib/power_api/generator_helper/pagination_helper_spec.rb
power_api-2.0.1 spec/dummy/spec/lib/power_api/generator_helper/pagination_helper_spec.rb
power_api-2.0.0 spec/dummy/spec/lib/power_api/generator_helper/pagination_helper_spec.rb
power_api-1.0.0 spec/dummy/spec/lib/power_api/generator_helper/pagination_helper_spec.rb
power_api-0.2.0 spec/dummy/spec/lib/power_api/generator_helper/pagination_helper_spec.rb
power_api-0.1.0 spec/dummy/spec/lib/power_api/generator_helper/pagination_helper_spec.rb