I believe you need to use the full `expect(get(‘/users’, :subdomain => 
‘api’)).to route_to("api/v1/users#index”)` to make this work, as RSpec can’t 
guess the constraint for you.

Jon Rowe
---------------------------
[email protected]
jonrowe.co.uk


On Tuesday, 17 January 2017 at 09:24, 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 
> (http://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] 
> (mailto:[email protected]).
> To post to this group, send email to [email protected] 
> (mailto:[email protected]).
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/rspec/823c800d-15c8-40a1-a143-5e77a8e27d29%40googlegroups.com
>  
> (https://groups.google.com/d/msgid/rspec/823c800d-15c8-40a1-a143-5e77a8e27d29%40googlegroups.com?utm_medium=email&utm_source=footer).
> For more options, visit https://groups.google.com/d/optout.

-- 
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/8190E2EAD88E4D66BCD640A1CD45AC23%40jonrowe.co.uk.
For more options, visit https://groups.google.com/d/optout.

Reply via email to