gpt4 book ai didi

ruby-on-rails - 模拟用户登录 Rspec - 使用 Faraday 和 Github-Api Gems

转载 作者:行者123 更新时间:2023-11-28 20:41:14 27 4
gpt4 key购买 nike

我正在使用 Faraday 和 Github-Api gems 来让用户登录 Github。为了测试任何类型的功能,我必须模拟这种行为。我在想,在我的规范中,我应该说类似“如果调用新操作(这是对 github-api 执行 ping 操作),则重定向到创建操作并传入创建用户所需的参数。 “我不完全确定该怎么做。我意识到 Oauth 有解决方案,带有辅助方法的模块可以模拟这种行为,但我正在向其他人构建的应用程序添加测试,因此它必须保持原样。任何帮助或指示将不胜感激。我对测试也很陌生,所以请随时对测试本身发表评论。

规范

require "rails_helper"

RSpec.feature "User submits a project" do
scenario "they see the index page for their projects" do

project = create(:project)

visit '/projects/new'

fill_in "project_title", with: project_title
fill_in "project_project_type", with: project_project_type
fill_in "project_description", with: project_description
fill_in "project_starts_at", with: project_starts_at
click_on "Create Project"

redirect_to '/projects'

expect(page).to have_project_title
end
end

session Controller

def new
redirect_to "githubapiurlgoeshere"
end

def create
@user = User.find_or_create_from_auth_hash(auth_hash)
if @user.save
session[:token] = @user.token
session[:user_id] = @user.id
redirect_to root_path
else
flash[:notice] = "message here"
redirect_to root_path
end

end

最佳答案

网络模拟(https://github.com/bblimke/webmock)?它将允许您使用预定义的响应模拟与 Github 的连接,因此它会尽可能接近现实 + 您可以在响应中定义变量

关于ruby-on-rails - 模拟用户登录 Rspec - 使用 Faraday 和 Github-Api Gems,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31733657/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com