I understand that in order to functional test a nested resource, you need to pass the id of the parent resource. I am having a problem testing the 'edit' action on the nested resource.
Here is the failing test.
test "should get edit" do
get :edit, id: capability_types(:one).id, capability_category_id: capability_categories(:one).id
assert_response :success
end
id: capability_types(:one).id is passing the id from the capability_types fixture. I am setting the capability_category_id from the capability_categories fixture.
I am getting this error message.
Couldn't find CapabilityType with id=980190962 [WHERE "capability_types"."capability_category_id" = $1]
Exception `ActiveRecord::RecordNotFound'
#fixtures
capability_types.yml
one:
name: MyString
capability_category_id: 1
two:
name: MyString
capability_category_id: 1
capability_categories.yml
one:
name: MyString
two:
name: MyString
'edit' action in the controller
def edit
@capability_type = @capability_category.capability_types.find(params[:id])
end
I am using Rails 4 and have a before_action defined to set_the capability_category.
before_action :set_capability_category
def set_capability_category
@capability_category = CapabilityCategory.find(params[:capability_category_id])
end
I can see anything that I've done that should not work. Any ideas? would be greatly appreciated.
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/rubyonrails-talk/-/u7iYyI6UqgYJ.
For more options, visit https://groups.google.com/groups/opt_out.
No comments:
Post a Comment