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.

Reply via email to