require 'swagger_helper' describe 'House of Code API' do
path '/api/<%= "#{api_version}/"%><%= "#{plural_parent_name}/:#{singular_parent_name}_id/" if is_nested?%><%= plural_table_name %>' do get 'Get <%= plural_table_name %>' do tags '<%= plural_table_name.camelize %>' description 'Gets <%= plural_table_name %>' produces 'application/json' consumes 'application/json' parameter name: :all, in: :query, type: :boolean parameter name: :page, in: :query, type: :integer parameter name: :Authorization, in: :header, required: true, type: :string <%= "parameter name: :#{singular_parent_name}_id, in: :path, required:true, type: :integer" if is_nested? %> response '200', '<%= plural_table_name.camelize %>' do schema '$ref' => '#/definitions/<%= plural_table_name %>' run_test! end response '401', 'Not authorized' do schema '$ref' => '#/definitions/error' run_test! end end post 'creates a profile' do tags '<%= plural_table_name.camelize %>' description 'Creates <%= singular_table_name %> with given input' produces 'application/json' consumes 'application/json' <%= "parameter name: :#{singular_parent_name}_id, in: :path, required:true, type: :integer" if is_nested? %> parameter name: :<%= singular_table_name %>, in: :body, schema: { '$ref' => '#/definitions/<%= singular_table_name %>_input' } response '201', '<%= singular_table_name.camelize %> created' do schema '$ref' => '#/definitions/<%= singular_table_name %>' run_test! end response '401', 'Not authorized' do schema '$ref' => '#/definitions/error' run_test! end end end path '/api/<%= "#{api_version}/"%><%= "#{plural_parent_name}/:#{singular_parent_name}_id/" if is_nested?%><%= plural_table_name %>/{id}' do get 'Get <%= singular_table_name %>' do tags '<%= plural_table_name.camelize %>' description 'Gets <%= singular_table_name %> with :id' produces 'application/json' consumes 'application/json' <%= "parameter name: :#{singular_parent_name}_id, in: :path, required:true, type: :integer" if is_nested? %> parameter name: :id, in: :path, type: :integer, required: true parameter name: :Authorization, in: :header, required: true, type: :string response '200', '<%= singular_table_name.camelize %>' do schema '$ref' => '#/definitions/<%= singular_table_name %>' run_test! end response '401', 'Not authorized' do schema '$ref' => '#/definitions/error' run_test! end end put 'Update <%= singular_table_name %>' do tags '<%= plural_table_name.camelize %>' description 'Updates <%= singular_table_name %> with :id' produces 'application/json' consumes 'application/json' <%= "parameter name: :#{singular_parent_name}_id, in: :path, required:true, type: :integer" if is_nested? %> parameter name: :id, in: :path, type: :integer, required: true parameter name: :Authorization, in: :header, required: true, type: :string response '200', '<%= singular_table_name.camelize %>' do schema '$ref' => '#/definitions/<%= singular_table_name %>_input' run_test! end response '401', 'Not authorized' do schema '$ref' => '#/definitions/error' run_test! end end delete 'Delete <%= singular_table_name %> with :id' do tags '<%= plural_table_name.camelize %>' description 'Deletes <%= singular_table_name %> with :id' produces 'application/json' consumes 'application/json' <%= "parameter name: :#{singular_parent_name}_id, in: :path, required:true, type: :integer" if is_nested? %> parameter name: :Authorization, in: :header, required: true, type: :string parameter name: :id, in: :path, type: :integer, required: true response '200', '<%= singular_table_name.camelize %> deleted' do run_test! end response '401', 'Not authorized' do schema '$ref' => '#/definitions/error' run_test! end end end
end