# Copyright (C) 2024 Manuel Bustillo

# frozen_string_literal: true

require 'swagger_helper'

RSpec.describe 'users/sessions' do
  path '/{slug}/users/sign_in' do
    post('create session') do
      tags 'Users Sessions'
      consumes 'application/json'
      produces 'application/json'

      parameter Swagger::Schema::SLUG
      parameter name: :body, in: :body, schema: {
        type: :object,
        required: %i[user],
        properties: {
          user: {
            type: :object,
            required: %i[email password],
            properties: {
              email: { type: :string, format: :email },
              password: SwaggerResponseHelper::PASSWORD
            }
          }
        }
      }

      response(201, 'created') do
        schema type: :object, properties: Swagger::Schema::USER
        xit
      end

      response401(message: 'Invalid Email or password.')
    end
  end

  path '/{slug}/users/sign_out' do
    parameter Swagger::Schema::SLUG
    delete('delete session') do
      tags 'Users Sessions'
      consumes 'application/json'
      produces 'application/json'
      response(204, 'Session destroyed') do
        xit
      end
    end
  end
end