# Copyright (C) 2024 Manuel Bustillo # frozen_string_literal: true require 'swagger_helper' RSpec.describe 'tables_arrangements' 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: :object, required: %i[id tables], properties: { id: { type: :string, format: :uuid }, tables: { type: :array, items: { type: :object, required: %i[number guests discomfort], 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 } } } }, discomfort: { type: :object, required: %i[discomfort breakdown], properties: { discomfort: { type: :number }, breakdown: { type: :object, required: %i[table_size_penalty cohesion_penalty], properties: { table_size_penalty: { type: :number }, cohesion_penalty: { type: :number } } } } } } } } } xit end regular_api_responses end end end