RSpec测试omniauth注销通过Rails应用程序与api only标志

问题描述 投票:0回答:1

我正在为我的课程项目创建一个单独的后端。我有一个带有api标志的rails应用程序,因为我想构建它以使用React或React Native消耗的终点。我能够通过api端点测试身份验证或创建用户。现在我正试图找到一种测试注销功能的方法。我知道如何检查以确保登录回叫有效。如果没有视图来检查当前路径或页面内容,我该如何测试以确保用户成功注销?

ruby-on-rails api omniauth rspec-rails google-oauth2
1个回答
0
投票

我最终使用了这个。

it 'can log out user' do
  get '/api/v1/auth/google_oauth2/callback', params: stub_omniauth
  user = JSON.parse(response.body)

  expect(request.session[:user_id]).to_not be_nil
  expect(user['name']).to eq('Rick Astley')
  expect(User.last.name).to eq('Rick Astley')

  get '/api/v1/signout'
  expect(request.session[:user_id]).to be_nil

end
© www.soinside.com 2019 - 2024. All rights reserved.