lib/decidim/dev/test/rspec_support/feature.rb in decidim-dev-0.9.3 vs lib/decidim/dev/test/rspec_support/feature.rb in decidim-dev-0.10.0

- old
+ new

@@ -2,45 +2,49 @@ require "decidim/feature_validator" require "decidim/comments" module Decidim - # Dummy engine to be able to test components. - class DummyEngine < Rails::Engine - engine_name "dummy" - - routes do - root to: proc { [200, {}, ["DUMMY ENGINE"]] } - resources :dummy_resources, controller: "decidim/dummy_resources" - end - end - - class DummyAdminEngine < Rails::Engine - engine_name "dummy_admin" - - routes do - root to: proc { [200, {}, ["DUMMY ADMIN ENGINE"]] } - end - end - class DummyResourceEvent < Events::BaseEvent include Decidim::Events::EmailEvent include Decidim::Events::NotificationEvent end module DummyResources + # Dummy engine to be able to test components. + class DummyEngine < Rails::Engine + engine_name "dummy" + isolate_namespace Decidim::DummyResources + + routes do + root to: proc { [200, {}, ["DUMMY ENGINE"]] } + + resources :dummy_resources do + get :foo, on: :member + end + end + end + + class DummyAdminEngine < Rails::Engine + engine_name "dummy_admin" + + routes do + root to: proc { [200, {}, ["DUMMY ADMIN ENGINE"]] } + end + end + class ApplicationRecord < ActiveRecord::Base self.abstract_class = true end class DummyResource < ApplicationRecord include HasFeature include Resourceable include Reportable include Authorable include HasCategory - include HasScope + include ScopableFeature include Decidim::Comments::Commentable include Followable include Traceable include Publicable @@ -49,26 +53,10 @@ def reported_content_url ResourceLocatorPresenter.new(self).url end end end - - class DummyResourcesController < ActionController::Base - helper Decidim::Comments::CommentsHelper - skip_authorization_check - - def show - @commentable = DummyResources::DummyResource.find(params[:id]) - render inline: %{ - <%= csrf_meta_tags %> - <%= display_flash_messages %> - <div class="reveal" id="loginModal" data-reveal></div> - <%= javascript_include_tag 'application' %> - <%= inline_comments_for(@commentable) %> - } - end - end end class DummySerializer def initialize(id) @id = id @@ -80,12 +68,12 @@ } end end Decidim.register_feature(:dummy) do |feature| - feature.engine = Decidim::DummyEngine - feature.admin_engine = Decidim::DummyAdminEngine + feature.engine = Decidim::DummyResources::DummyEngine + feature.admin_engine = Decidim::DummyResources::DummyAdminEngine feature.icon = "decidim/dummy.svg" feature.actions = %w(foo bar) feature.settings(:global) do |settings| @@ -124,21 +112,21 @@ end RSpec.configure do |config| config.before(:suite) do ActiveRecord::Migration.suppress_messages do - unless ActiveRecord::Base.connection.data_source_exists?("decidim_dummy_resources") - ActiveRecord::Migration.create_table :decidim_dummy_resources do |t| + unless ActiveRecord::Base.connection.data_source_exists?("decidim_dummy_resources_dummy_resources") + ActiveRecord::Migration.create_table :decidim_dummy_resources_dummy_resources do |t| t.string :title t.text :address t.float :latitude t.float :longitude t.datetime :published_at - t.references :decidim_feature, index: true - t.references :decidim_author, index: true - t.references :decidim_category, index: true - t.references :decidim_scope, index: true + t.references :decidim_feature, index: false + t.references :decidim_author, index: false + t.references :decidim_category, index: false + t.references :decidim_scope, index: false t.timestamps end end end