I am not sure why minitest is not recognising my route:
# airlines_controller_test.rb
class AirlinesControllerTest < ActionDispatch::IntegrationTest
test "should get index" do
get api_v1_airlines
assert_response :success
end
end
` api_v1_airlines GET /api/v1/airlines(.:format) api/v1/airlines#index {:params=>:slug}
`
I ran the test and it gave me
`Error:
AirlinesControllerTest#test_should_get_index:
NameError: undefined local variable or method `api_v1_airlines' for #<AirlinesControllerTest:0x0000006532df84b8>
test/controllers/airlines_controller_test.rb:5:in `block in <class:AirlinesControllerTest>'`
what am I doing wrong? It is not recognizing the route but it is defined in rails routes. What am I not including in my test file?
According to the docs, you should use the *_url
form of the route helper.
class AirlinesControllerTest < ActionDispatch::IntegrationTest
test "should get index" do
get api_v1_airlines_url
assert_response :success
end
end