Devise, Rails-API, Routing issue -
i have following routes setup inside rails api app:
constraints subdomain: 'api', path: '/' namespace 'api', path: '/' scope module: 'v1' , constraints: apiconstraints.new(version: 1, default: true) devise_scope :user post 'sign_in' => 'sessions#create' delete 'sign_out' => 'sessions#destroy' end resources :question end end end # rake routes prefix verb uri pattern controller#action api_sign_in post /sign_in(.:format) api/v1/sessions#create {:subdomain=>"api"} api_sign_out delete /sign_out(.:format) api/v1/sessions#destroy {:subdomain=>"api"} when got execute test:
require 'rails_helper' rspec.describe api::v1::sessionscontroller, :type => :controller describe '#create' 'creates session' @request.env["devise.mapping"] = devise.mappings[:user] user = user.create(email: 'rob@edukate.com', password: 'password') post :create, action: :create, user_login: { password: user.password, email: user.email} expect(response).to be_success end end end i error:
f failures: 1) api::v1::sessionscontroller#create creates session failure/error: post :create, action: :create, user_login: { password: user.password, email: user.email} abstractcontroller::actionnotfound: not find devise mapping path "/sign_in?user_login%5bemail%5d=rob%40edukate.com&user_login%5bpassword%5d=password". i have tried many variations of routes cannot simple test pass. if cannot completed i'll roll own auth; appears devise doing odd abstract controller. in advance!
Comments
Post a Comment