RSpec 通过带有 api 标志的 Rails 应用程序测试 omniauth 注销
RSpec test omniauth logout through Rails app with api only flag
我正在为我的 class 项目创建一个单独的后端。我有一个带有 api 标志的 rails 应用程序,因为我想将其构建到端点以供 React 或 React Native 使用。我能够通过 api 端点测试身份验证或创建用户。现在我正试图找到一种方法来测试注销功能。我知道如何检查以确保登录回调有效。没有查看当前路径或页面内容的视图,如何测试以确保用户已成功注销?
我最终使用了这个。
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
我正在为我的 class 项目创建一个单独的后端。我有一个带有 api 标志的 rails 应用程序,因为我想将其构建到端点以供 React 或 React Native 使用。我能够通过 api 端点测试身份验证或创建用户。现在我正试图找到一种方法来测试注销功能。我知道如何检查以确保登录回调有效。没有查看当前路径或页面内容的视图,如何测试以确保用户已成功注销?
我最终使用了这个。
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