Hi,

I have very similar index action test pattern in 100+ controllers. That is 
why I am thinking to run them from a single file. Here is my code to meet 
the same need :

require 'spec_helper'

Dir[Rails.root.join('app','admin', '**', '*')].each do | file_name |
  admin_controller = File.basename(file_name, '.rb')

  RSpec.describe "Admin::#{ admin_controller.classify 
}sController".constantize, type: :controller do
    render_views

    let(:login_with) { create(:full_admin_user) }

    login_admin_user

    include_examples "index"
  end
end


But, once I run it, getting below error :


/Users/arup/.rvm/gems/ruby-2.2.3@admin/gems/activesupport-4.2.5/lib/active_support/inflector/methods.rb:263:in
 `const_get': uninitialized constant Admin::AccountingsController (NameError)
        from 
/Users/arup/.rvm/gems/ruby-2.2.3@admin/gems/activesupport-4.2.5/lib/active_support/inflector/methods.rb:263:in
 `block in constantize'
        from 
/Users/arup/.rvm/gems/ruby-2.2.3@admin/gems/activesupport-4.2.5/lib/active_support/inflector/methods.rb:259:in
 `each'
        from 
/Users/arup/.rvm/gems/ruby-2.2.3@admin/gems/activesupport-4.2.5/lib/active_support/inflector/methods.rb:259:in
 `inject'
        from 
/Users/arup/.rvm/gems/ruby-2.2.3@admin/gems/activesupport-4.2.5/lib/active_support/inflector/methods.rb:259:in
 `constantize'
        from 
/Users/arup/.rvm/gems/ruby-2.2.3@admin/gems/activesupport-4.2.5/lib/active_support/core_ext/string/inflections.rb:66:in
 `constantize'
        from 
/Users/arup/eligible/admin/spec/controllers/controller_index_action_spec.rb:7:in
 `block in <top (required)>'
        from 
/Users/arup/eligible/admin/spec/controllers/controller_index_action_spec.rb:4:in
 `each'
        from 
/Users/arup/eligible/admin/spec/controllers/controller_index_action_spec.rb:4:in
 `<top (required)>'


Those test are for ActiveAdmin controllers. When I run the same test as below :


require 'spec_helper'

RSpec.describe Admin::AccountingsController, type: :controller do
  render_views

  let(:full_admin_user) { create(:full_admin_user) }
  let(:login_with) { full_admin_user }

  login_admin_user

  include_examples "index"
end



It works like a charm. Now my question is why the code given at top of this 
thread didn't work ?

-- 
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/a5f0915a-870e-4595-a600-45134bbe9546%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to