isolate_namespace misses Rails::Engine::ActionDispatch when run in rspec





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







0















I am trying to write a module for an existing rails app (decidim), using TDD.
When I run the production code with rails runner, there is no problem:



decidim@elektori:~/elovalasztok$ rails runner lib/decidim/condorcet.rb 
decidim@elektori:~/elovalasztok$


When I run with rspec, there is missing dependency:



decidim@elektori:~/elovalasztok$ rspec 

An error occurred while loading ./spec/condorcet_spec.rb.
Failure/Error: isolate_namespace Decidim::Condorcet::Admin

NameError:
uninitialized constant Rails::Engine::ActionDispatch
# ./lib/decidim/condorcet/admin_engine.rb:5:in `<class:AdminEngine>'
# ./lib/decidim/condorcet/admin_engine.rb:4:in `<module:Condorcet>'
# ./lib/decidim/condorcet/admin_engine.rb:3:in `<module:Decidim>'
# ./lib/decidim/condorcet/admin_engine.rb:2:in `<top (required)>'
# ./lib/decidim/condorcet.rb:2:in `<top (required)>'
# ./spec/condorcet_spec.rb:1:in `<top (required)>'


Finished in 0.00041 seconds (files took 1.39 seconds to load)
0 examples, 0 failures, 1 error occurred outside of examples

decidim@elektori:~/elovalasztok$


The first line of the spec file, which triggers the problem, is the following:



require 'decidim/condorcet'


Relevant files:



decidim@elektori:~/elovalasztok$ cat lib/decidim/condorcet.rb 
require "decidim/condorcet/admin"
require "decidim/condorcet/admin_engine"
module Decidim
module Condorcet
include ActiveSupport::Configurable
end
end
decidim@elektori:~/elovalasztok$ cat lib/decidim/condorcet/admin_engine.rb
require 'rails/engine'
module Decidim
module Condorcet
class AdminEngine < ::Rails::Engine
isolate_namespace Decidim::Condorcet::Admin
end
end
end


I'm not even sure that the require 'rails/engine' line should be in condorcet.rb or some other place. And I could not figure out what to require to have Rails::Engine::ActionDispatch covered.



Where should I declare my dependencies, and what is the one for Rails::Engine::ActionDispatch ?










share|improve this question





























    0















    I am trying to write a module for an existing rails app (decidim), using TDD.
    When I run the production code with rails runner, there is no problem:



    decidim@elektori:~/elovalasztok$ rails runner lib/decidim/condorcet.rb 
    decidim@elektori:~/elovalasztok$


    When I run with rspec, there is missing dependency:



    decidim@elektori:~/elovalasztok$ rspec 

    An error occurred while loading ./spec/condorcet_spec.rb.
    Failure/Error: isolate_namespace Decidim::Condorcet::Admin

    NameError:
    uninitialized constant Rails::Engine::ActionDispatch
    # ./lib/decidim/condorcet/admin_engine.rb:5:in `<class:AdminEngine>'
    # ./lib/decidim/condorcet/admin_engine.rb:4:in `<module:Condorcet>'
    # ./lib/decidim/condorcet/admin_engine.rb:3:in `<module:Decidim>'
    # ./lib/decidim/condorcet/admin_engine.rb:2:in `<top (required)>'
    # ./lib/decidim/condorcet.rb:2:in `<top (required)>'
    # ./spec/condorcet_spec.rb:1:in `<top (required)>'


    Finished in 0.00041 seconds (files took 1.39 seconds to load)
    0 examples, 0 failures, 1 error occurred outside of examples

    decidim@elektori:~/elovalasztok$


    The first line of the spec file, which triggers the problem, is the following:



    require 'decidim/condorcet'


    Relevant files:



    decidim@elektori:~/elovalasztok$ cat lib/decidim/condorcet.rb 
    require "decidim/condorcet/admin"
    require "decidim/condorcet/admin_engine"
    module Decidim
    module Condorcet
    include ActiveSupport::Configurable
    end
    end
    decidim@elektori:~/elovalasztok$ cat lib/decidim/condorcet/admin_engine.rb
    require 'rails/engine'
    module Decidim
    module Condorcet
    class AdminEngine < ::Rails::Engine
    isolate_namespace Decidim::Condorcet::Admin
    end
    end
    end


    I'm not even sure that the require 'rails/engine' line should be in condorcet.rb or some other place. And I could not figure out what to require to have Rails::Engine::ActionDispatch covered.



    Where should I declare my dependencies, and what is the one for Rails::Engine::ActionDispatch ?










    share|improve this question

























      0












      0








      0








      I am trying to write a module for an existing rails app (decidim), using TDD.
      When I run the production code with rails runner, there is no problem:



      decidim@elektori:~/elovalasztok$ rails runner lib/decidim/condorcet.rb 
      decidim@elektori:~/elovalasztok$


      When I run with rspec, there is missing dependency:



      decidim@elektori:~/elovalasztok$ rspec 

      An error occurred while loading ./spec/condorcet_spec.rb.
      Failure/Error: isolate_namespace Decidim::Condorcet::Admin

      NameError:
      uninitialized constant Rails::Engine::ActionDispatch
      # ./lib/decidim/condorcet/admin_engine.rb:5:in `<class:AdminEngine>'
      # ./lib/decidim/condorcet/admin_engine.rb:4:in `<module:Condorcet>'
      # ./lib/decidim/condorcet/admin_engine.rb:3:in `<module:Decidim>'
      # ./lib/decidim/condorcet/admin_engine.rb:2:in `<top (required)>'
      # ./lib/decidim/condorcet.rb:2:in `<top (required)>'
      # ./spec/condorcet_spec.rb:1:in `<top (required)>'


      Finished in 0.00041 seconds (files took 1.39 seconds to load)
      0 examples, 0 failures, 1 error occurred outside of examples

      decidim@elektori:~/elovalasztok$


      The first line of the spec file, which triggers the problem, is the following:



      require 'decidim/condorcet'


      Relevant files:



      decidim@elektori:~/elovalasztok$ cat lib/decidim/condorcet.rb 
      require "decidim/condorcet/admin"
      require "decidim/condorcet/admin_engine"
      module Decidim
      module Condorcet
      include ActiveSupport::Configurable
      end
      end
      decidim@elektori:~/elovalasztok$ cat lib/decidim/condorcet/admin_engine.rb
      require 'rails/engine'
      module Decidim
      module Condorcet
      class AdminEngine < ::Rails::Engine
      isolate_namespace Decidim::Condorcet::Admin
      end
      end
      end


      I'm not even sure that the require 'rails/engine' line should be in condorcet.rb or some other place. And I could not figure out what to require to have Rails::Engine::ActionDispatch covered.



      Where should I declare my dependencies, and what is the one for Rails::Engine::ActionDispatch ?










      share|improve this question














      I am trying to write a module for an existing rails app (decidim), using TDD.
      When I run the production code with rails runner, there is no problem:



      decidim@elektori:~/elovalasztok$ rails runner lib/decidim/condorcet.rb 
      decidim@elektori:~/elovalasztok$


      When I run with rspec, there is missing dependency:



      decidim@elektori:~/elovalasztok$ rspec 

      An error occurred while loading ./spec/condorcet_spec.rb.
      Failure/Error: isolate_namespace Decidim::Condorcet::Admin

      NameError:
      uninitialized constant Rails::Engine::ActionDispatch
      # ./lib/decidim/condorcet/admin_engine.rb:5:in `<class:AdminEngine>'
      # ./lib/decidim/condorcet/admin_engine.rb:4:in `<module:Condorcet>'
      # ./lib/decidim/condorcet/admin_engine.rb:3:in `<module:Decidim>'
      # ./lib/decidim/condorcet/admin_engine.rb:2:in `<top (required)>'
      # ./lib/decidim/condorcet.rb:2:in `<top (required)>'
      # ./spec/condorcet_spec.rb:1:in `<top (required)>'


      Finished in 0.00041 seconds (files took 1.39 seconds to load)
      0 examples, 0 failures, 1 error occurred outside of examples

      decidim@elektori:~/elovalasztok$


      The first line of the spec file, which triggers the problem, is the following:



      require 'decidim/condorcet'


      Relevant files:



      decidim@elektori:~/elovalasztok$ cat lib/decidim/condorcet.rb 
      require "decidim/condorcet/admin"
      require "decidim/condorcet/admin_engine"
      module Decidim
      module Condorcet
      include ActiveSupport::Configurable
      end
      end
      decidim@elektori:~/elovalasztok$ cat lib/decidim/condorcet/admin_engine.rb
      require 'rails/engine'
      module Decidim
      module Condorcet
      class AdminEngine < ::Rails::Engine
      isolate_namespace Decidim::Condorcet::Admin
      end
      end
      end


      I'm not even sure that the require 'rails/engine' line should be in condorcet.rb or some other place. And I could not figure out what to require to have Rails::Engine::ActionDispatch covered.



      Where should I declare my dependencies, and what is the one for Rails::Engine::ActionDispatch ?







      ruby-on-rails rspec






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Jan 3 at 11:56









      Árpád MagosányiÁrpád Magosányi

      571621




      571621
























          1 Answer
          1






          active

          oldest

          votes


















          0














          So there is an rspec-rails gem: https://github.com/rspec/rspec-rails
          It basically takes care of the rails dependencies.
          I did the following (already had the dependency in Gemfile):



          rails generate rspec:install


          to install needed files



          added



          require 'rails_helper'


          to the spec file, and ran



          bundle exec rspec





          share|improve this answer
























            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54021827%2fisolate-namespace-misses-railsengineactiondispatch-when-run-in-rspec%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            So there is an rspec-rails gem: https://github.com/rspec/rspec-rails
            It basically takes care of the rails dependencies.
            I did the following (already had the dependency in Gemfile):



            rails generate rspec:install


            to install needed files



            added



            require 'rails_helper'


            to the spec file, and ran



            bundle exec rspec





            share|improve this answer




























              0














              So there is an rspec-rails gem: https://github.com/rspec/rspec-rails
              It basically takes care of the rails dependencies.
              I did the following (already had the dependency in Gemfile):



              rails generate rspec:install


              to install needed files



              added



              require 'rails_helper'


              to the spec file, and ran



              bundle exec rspec





              share|improve this answer


























                0












                0








                0







                So there is an rspec-rails gem: https://github.com/rspec/rspec-rails
                It basically takes care of the rails dependencies.
                I did the following (already had the dependency in Gemfile):



                rails generate rspec:install


                to install needed files



                added



                require 'rails_helper'


                to the spec file, and ran



                bundle exec rspec





                share|improve this answer













                So there is an rspec-rails gem: https://github.com/rspec/rspec-rails
                It basically takes care of the rails dependencies.
                I did the following (already had the dependency in Gemfile):



                rails generate rspec:install


                to install needed files



                added



                require 'rails_helper'


                to the spec file, and ran



                bundle exec rspec






                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Jan 3 at 12:05









                Árpád MagosányiÁrpád Magosányi

                571621




                571621
































                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54021827%2fisolate-namespace-misses-railsengineactiondispatch-when-run-in-rspec%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Can a sorcerer learn a 5th-level spell early by creating spell slots using the Font of Magic feature?

                    ts Property 'filter' does not exist on type '{}'

                    mat-slide-toggle shouldn't change it's state when I click cancel in confirmation window