# Copyright (C) 2024 Manuel Bustillo require 'swagger_helper' RSpec.describe 'guests', type: :request do path '/guests' do get('list guests') do tags 'Guests' produces 'application/json' response(200, 'successful') do schema type: :array, items: { type: :object, required: %i[id name status group], properties: { id: { type: :string, format: :uuid }, name: { type: :string }, status: { type: :string, enum: Guest.statuses.keys }, group: { type: :object, required: %i[id name], properties: { id: { type: :string, format: :uuid }, name: { type: :string } } } } } xit end end post('create guest') do tags 'Guests' consumes 'application/json' produces 'application/json' parameter name: :body, in: :body, schema: { type: :object, required: %i[guest], properties: { guest: { type: :object, required: %i[name group_id status], properties: { name: { type: :string }, group_id: { type: :string, format: :uuid }, status: { type: :string, enum: Guest.statuses.keys } } } } } response_empty_201 response_422 end end path '/guests/{id}' do patch('update guest') do tags 'Guests' consumes 'application/json' produces 'application/json' parameter name: 'id', in: :path, type: :string, format: :uuid parameter name: :body, in: :body, schema: { type: :object, required: %i[guest], properties: { guest: { type: :object, properties: { name: { type: :string }, status: { type: :string, enum: Guest.statuses.keys } } } } } response_empty_200 response_422 response_404 end end end