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