gpt4 book ai didi

ruby-on-rails - Ruby On Rails 功能测试 :index with a polymorphic model

转载 作者:行者123 更新时间:2023-11-28 20:58:02 25 4
gpt4 key购买 nike

我有一个名为 Address 的多态模型,目前我正在尝试为此模型和 Controller 编写一些基本功能测试。对于 Controller ,我不知道如何去做。例如,我有另一个名为 Patient 的模型,每个 Patient 都有一个地址,所以我开始编写以下函数测试,但我不知道如何将“get”与嵌套多态资源一起使用。现在我可以在这里找到一些关于 Fixtures 的多态测试信息:http://api.rubyonrails.org/classes/Fixtures.html但这不会帮助我测试索引。非常感谢任何帮助,我在这里完全失去了。

文件:测试/功能/addresses_controller_test.rb

require 'test_helper'
class AddressesControllerTest < ActionController::TestCase
setup do
@address = addresses(:of_patient)
@patient = patients(:one)
activate_authlogic
end

test "patient addresses index without user" do
get :index <<<<<<<<<<<< what goes here????
assert_redirected_to :login
end
end

最佳答案

假设您的 Controller 按照我认为的方式设置:

def index
if @current_user
@addresses = @current_user.addresses.all
else
redirect_to login_path
end
end

那么测试大概是这样的:

test "patient addresses index without user" do
get :index, :patient_id => @patient.id
assert_redirected_to :login
end

test "patient addresses with user" do
@current_user = @patient
get :index, :patient_id => @patient.id
assert_response :success
end

要记住的是,index 方法需要 patient_id 才能处理。

关于ruby-on-rails - Ruby On Rails 功能测试 :index with a polymorphic model,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5210251/

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