diff --git a/spec/requests/schemas.rb b/spec/requests/schemas.rb index e8e8e9b..30a9b58 100644 --- a/spec/requests/schemas.rb +++ b/spec/requests/schemas.rb @@ -9,6 +9,13 @@ module Swagger updated_at: SwaggerResponseHelper::TIMESTAMP } + ID = { + name: 'id', + in: :path, + type: :string, + format: :uuid, + } + GROUP = { name: { type: :string }, icon: { type: :string, example: 'pi pi-crown', description: 'The CSS classes used by the icon' }, diff --git a/spec/requests/tables_arrangements_spec.rb b/spec/requests/tables_arrangements_spec.rb new file mode 100644 index 0000000..1581d9a --- /dev/null +++ b/spec/requests/tables_arrangements_spec.rb @@ -0,0 +1,61 @@ +# Copyright (C) 2024 Manuel Bustillo + +require 'swagger_helper' + +RSpec.describe 'tables_arrangements', type: :request do + + path '/{slug}/tables_arrangements' do + get('list tables arrangements') do + tags 'Tables Arrangements' + produces 'application/json' + parameter Swagger::Schema::SLUG + response(200, 'successful') do + schema type: :array, + items: { + type: :object, + required: %i[id name discomfort], + properties: { + id: { type: :string, format: :uuid }, + name: { type: :string }, + discomfort: { type: :integer } + } + } + xit + end + regular_api_responses + end + end + + path '/{slug}/tables_arrangements/{id}' do + get('show tables arrangement') do + tags 'Tables Arrangements' + produces 'application/json' + parameter Swagger::Schema::SLUG + parameter Swagger::Schema::ID + response(200, 'successful') do + schema type: :array, + items: { + type: :object, + required: %i[number guests], + properties: { + number: { type: :integer }, + guests: { + type: :array, + items: { + type: :object, + required: %i[id name color], + properties: { + id: { type: :string, format: :uuid }, + name: { type: :string }, + color: { type: :string } + } + } + } + } + } + xit + end + regular_api_responses + end + end +end