require 'swagger_helper' RSpec.describe 'api/v1/post_statuses', type: :request do include_context 'API Authentication' before(:each) do @post_status_1 = FactoryBot.create(:post_status) @post_status_2 = FactoryBot.create(:post_status) end path '/api/v1/post_statuses' do get('List post statuses') do tags 'Post Statuses' description 'List all post statuses.' security [{ api_key: [] }] produces 'application/json' response(200, 'successful') do let(:Authorization) { "Bearer #{@moderator_api_token}" } schema type: :array, items: { '$ref' => '#/components/schemas/PostStatus' } run_test! do |response| data = JSON.parse(response.body) expect(data.size).to eq(2) expect(data[0]['id']).to eq(@post_status_1.id) expect(data[1]['id']).to eq(@post_status_2.id) end end response(401, 'unauthorized') do let(:Authorization) { nil } schema '$ref' => '#/components/schemas/Error' run_test! end end end end