docbrown/spec/requests/api/v1/docs/readinglist_spec.rb
Ridhwana 73335f3a56
[API V1 docs] Reading List (#18888)
* feat: add the docs spec file fro readinglist

* feat: add the api_v1.json file
2022-12-22 13:26:31 +02:00

49 lines
1.5 KiB
Ruby

require "rails_helper"
require "swagger_helper"
# rubocop:disable RSpec/EmptyExampleGroup
# rubocop:disable RSpec/VariableName
RSpec.describe "Api::V1::Docs::Readinglist" do
let(:api_secret) { create(:api_secret) }
let(:user) { api_secret.user }
let(:readinglist) { create_list(:reading_reaction, 3, user: user) }
let(:Accept) { "application/vnd.forem.api-v1+json" }
before { user.add_role(:admin) }
describe "GET /readinglist" do
path "/api/readinglist" do
get "Readinglist" do
tags "readinglist"
description(<<-DESCRIBE.strip)
This endpoint allows the client to retrieve a list of articles that were saved to a Users readinglist.
It supports pagination, each page will contain `30` articles by default
DESCRIBE
operationId "getReadinglist"
produces "application/json"
parameter "$ref": "#/components/parameters/pageParam"
parameter "$ref": "#/components/parameters/perPageParam30to1000"
response "401", "Unauthorized" do
let(:"api-key") { nil }
add_examples
run_test!
end
response "200", "A list of articles in the users readinglist" do
let(:"api-key") { api_secret.secret }
schema type: :array,
items: { "$ref": "#/components/schemas/ArticleIndex" }
add_examples
run_test!
end
end
end
end
end
# rubocop:enable RSpec/VariableName
# rubocop:enable RSpec/EmptyExampleGroup