I don't really know much about this, but I think you need to include the
v1 namespace in the spec per
https://www.relishapp.com/rspec/rspec-rails/docs/routing-specs/route-to-matcher#route-spec-for-a-namespaced-route-with-shortcut-specifier
expect(:get => "/v1/users").to route_to("api/v1/users#index")
On Mon, Jan 16, 2017, at 02:24 PM, Gabriel Zangerl wrote:
> Hi everyone,
>
> I'm having an *Rails 5 --api* with Rspec (core) 3.5.4.
> The API is working under the subdomain *api.mywebsite.com.*
> The Controllers are in an *api module* and a* v1 namespace.*
> **
> Routes look like this:
>
> **
> *...
> constraints subdomain: 'api' do*
> * scope module: 'api' do*
> **
> * # API v1*
> * namespace :v1 do*
> * resources :users, except: :edit end
>
> end end
*
> **
>
>
> Controllers are lying at *app/controllers/api/v1* like the
> *UsersController.rb:*
>
> module Api::V1
> class UsersController < ApplicationController def my_methods ...
> end end end
>
>
> In the *spec/routing/users_routing.rb* I have got e.g.:
>
>
> require "rails_helper"
>
> RSpec.describe Api::V1::UsersController, type: :routing do describe
> "routing" do it "routes to #index" do
>
> expect(:get => "/users").to route_to("api/v1/users#index")
> end
> end
> end
>
>
> But when I call *rails spec* in the console, I get multiple
> errors like:
>
> Api::V1::UsersController routing routes to #index
> Failure/Error: expect(:get => "/users").to
> route_to("users#index")
> No route matches "/users"
> # ./spec/routing/users_routing_spec.rb:8:in `block (3 levels) in
> # <top (required)>'
>
>
> Can someone help me here?
> Am I missing something??
>
> Thx.
>
> --
> You received this message because you are subscribed to the Google
> Groups "rspec" group.
> To unsubscribe from this group and stop receiving emails from it,
> send an email to [email protected].
> To post to this group, send email to [email protected].
> To view this discussion on the web visit
>
> https://groups.google.com/d/msgid/rspec/823c800d-15c8-40a1-a143-5e77a8e27d29%40googlegroups.com[1].
> For more options, visit https://groups.google.com/d/optout.
Links:
1.
https://groups.google.com/d/msgid/rspec/823c800d-15c8-40a1-a143-5e77a8e27d29%40googlegroups.com?utm_medium=email&utm_source=footer
--
You received this message because you are subscribed to the Google Groups
"rspec" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/rspec/1484606247.1654824.849726000.0C9EE46E%40webmail.messagingengine.com.
For more options, visit https://groups.google.com/d/optout.