Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions actionmailbox/test/dummy/config/routes.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
Rails.application.routes.draw do
resources :messages
mount Conductor::Engine, at: "/"
# For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html
end
15 changes: 15 additions & 0 deletions conductor/Rakefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# frozen_string_literal: true

require "bundler/setup"
require "bundler/gem_tasks"
require "rake/testtask"

task :package

Rake::TestTask.new do |t|
t.libs << "test"
t.pattern = "test/**/*_test.rb"
t.verbose = true
end

task default: :test
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
# frozen_string_literal: true

class Rails::Conductor::CommandController < Rails::Conductor::BaseController
def generate
Rails::Command.invoke "generate", command_params
end


private
def capture_stdout
original_stdout, $stdout = $stdout, StringIO.new
Expand All @@ -9,4 +14,8 @@ def capture_stdout
ensure
$stdout = original_stdout
end

def command_params
@command_params ||= params.require(:command).permit(:namespace, options:[])
end
end
1 change: 1 addition & 0 deletions conductor/config/routes.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@
get "rails/conductor" => "rails/conductor/panels#show", as: :rails_conductor
get "rails/conductor/source/statistics" => "rails/conductor/source/statistics#show", as: :rails_conductor_source_statistics
get "rails/conductor/source/notes" => "rails/conductor/source/notes#show", as: :rails_conductor_source_notes
post "rails/conductor" => "rails/conductor/command#generate", as: :rails_conductor_generator
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# frozen_string_literal: true

require "test_helper"

class Rails::Conductor::CommandControllerTest < ActionDispatch::IntegrationTest
def dummy_user
"#{Rails.root}/app/models/user.rb"
end
test "generate scaffold" do
with_rails_env("development") do
post rails_conductor_generator_path, params: {
user: {
name: :string
}
}

assert File.exist?(dummy_user)

Rails::Command.invoke "destroy", ["scaffold", "User"]
end
end

private
def with_rails_env(env)
old_rails_env = Rails.env
Rails.env = env
yield
ensure
Rails.env = old_rails_env
end
end
6 changes: 6 additions & 0 deletions conductor/test/test_helper.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@

ENV["RAILS_ENV"] = "test"

require_relative "../../actionmailbox/test/dummy/config/environment"
ActiveRecord::Migrator.migrations_paths = [File.expand_path("../../actionmailbox/test/dummy/db/migrate", __dir__)]
require "rails/test_help"