Я новичок в rswag. Я пытаюсь использовать его для создания путей входа и выхода. Я мог бы создать файл интеграции для / login. Но выход из системы сводит меня с ума:
require 'swagger_helper'
describe 'Sessions API' do
path '/login' do
post 'Create user session' do
tags 'Sessions'
produces 'application/json'
consumes 'application/json'
description 'Generate an Authorization Token from User data'
parameter name: :params, in: :body, schema: {
type: :object,
properties: {
email: { type: :string },
password: { type: :string }
},
required:[:email, :password]
}
let(:session){User.create(email: 'user@example.co', password: '123456')}
response 200, 'success' do
consumes 'application/json'
let(:params){{ email: session.email, password: session.password }}
run_test!
end
response 400, 'bad request' do
let(:params) { 'unauthorized' }
run_test!
end
end
end
# here is where my pain starts
path '/logout' do
delete 'destroy user session' do
tags 'Sessions'
consumes 'application/json'
description 'Delete an Authorization Token given from User data'
response 204, 'No content' do
let(:Authorization) { "Basic #{::Base64.strict_encode64('jsmith:jspass')}" }
run_test!
end
end
end
end
Это мой тест для выхода из системы c на rspe (это работает)
describe "Testing logout" do
it 'returns status no content' do
request.headers['Content-Type'] = 'application/json'
post :create, params: { email: @user1.email, password: @user1.password }
delete :destroy
expect(response.cookies["auth_token"]).to be_nil
expect(response).to have_http_status(:no_content)
end
end
Я искал документы о том, как управлять уничтожить методы в rswag, но ничего не помогло. Как я могу создать этот метод УДАЛИТЬ в моей спецификации rswag?