Skip to content

Commit

Permalink
Add #generate_helper_test to many test component
Browse files Browse the repository at this point in the history
  • Loading branch information
namusyaka committed May 5, 2014
1 parent 21c4c2d commit f35eb24
Show file tree
Hide file tree
Showing 6 changed files with 142 additions and 9 deletions.
25 changes: 23 additions & 2 deletions padrino-gen/lib/padrino-gen/generators/components/tests/bacon.rb
Expand Up @@ -59,6 +59,21 @@ def app(app = nil, &blk)
end
TEST

BACON_HELPER_TEST = <<-TEST unless defined?(BACON_HELPER_TEST)
require File.expand_path(File.dirname(__FILE__) + '!PATH!/test_config.rb')
describe "!NAME!" do
before do
@helpers = Class.new
@helpers.extend !NAME!
end
it "should return nil" do
@helpers.foo.should.equal nil
end
end
TEST

def setup_test
require_dependencies 'rack-test', :require => 'rack/test', :group => 'test'
require_dependencies 'bacon', :group => 'test'
Expand All @@ -74,8 +89,14 @@ def generate_controller_test(name)

def generate_model_test(name)
bacon_contents = BACON_MODEL_TEST.gsub(/!NAME!/, name.to_s.underscore.camelize).gsub(/!DNAME!/, name.to_s.underscore)
path = options[:app] == '.' ? '/..' : '/../..'
bacon_contents.gsub!(/!PATH!/,path)
bacon_contents.gsub!(/!PATH!/, recognize_path)
model_test_path = File.join('test',options[:app],'models',"#{name.to_s.underscore}_test.rb")
create_file destination_root(model_test_path), bacon_contents, :skip => true
end

def generate_helper_test(name, project_name, app_name)
bacon_contents = BACON_HELPER_TEST.gsub(/!NAME!/, "#{project_name}::#{app_name}::#{name}")
bacon_contents.gsub!(/!PATH!/, recognize_path)
helper_spec_path = File.join('test', options[:app], 'helpers', "#{name.underscore}_test.rb")
create_file destination_root(helper_spec_path), bacon_contents, :skip => true
end
Expand Up @@ -62,6 +62,25 @@ def app(app = nil, &blk)
end
TEST

MINITEST_HELPER_TEST = (<<-TEST) unless defined?(MINITEST_HELPER_TEST)
require File.expand_path(File.dirname(__FILE__) + '!PATH!/test_config.rb')
describe "!NAME!" do
before do
@helpers = Class.new
@helpers.extend !NAME!
end
def helpers
@helpers
end
it "should return nil" do
assert_equal nil, helpers.foo
end
end
TEST

def setup_test
require_dependencies 'rack-test', :require => 'rack/test', :group => 'test'
require_dependencies 'minitest', :require => 'minitest/autorun', :group => 'test'
Expand All @@ -77,8 +96,14 @@ def generate_controller_test(name)

def generate_model_test(name)
minitest_contents = MINITEST_MODEL_TEST.gsub(/!NAME!/, name.to_s.underscore.camelize).gsub(/!DNAME!/, name.to_s.underscore)
path = options[:app] == '.' ? '/..' : '/../..'
minitest_contents.gsub!(/!PATH!/,path)
minitest_contents.gsub!(/!PATH!/, recognize_path)
model_test_path = File.join('test',options[:app],'models',"#{name.to_s.underscore}_test.rb")
create_file destination_root(model_test_path), minitest_contents, :skip => true
end

def generate_helper_test(name, project_name, app_name)
minitest_contents = MINITEST_HELPER_TEST.gsub(/!NAME!/, "#{project_name}::#{app_name}::#{name}")
minitest_contents.gsub!(/!PATH!/, recognize_path)
helper_spec_path = File.join('test', options[:app], 'helpers', "#{name.underscore}_test.rb")
create_file destination_root(helper_spec_path), minitest_contents, :skip => true
end
24 changes: 22 additions & 2 deletions padrino-gen/lib/padrino-gen/generators/components/tests/riot.rb
Expand Up @@ -74,6 +74,20 @@ class Riot::Context
end
TEST

RIOT_HELPER_TEST = (<<-TEST) unless defined?(RIOT_HELPER_TEST)
require File.expand_path(File.dirname(__FILE__) + '!PATH!/test_config.rb')
describe "!NAME!" do
setup do
helpers = Class.new
helpers.extend !NAME!
[helpers.foo]
end
asserts("#foo"){ topic.first }.nil
end
TEST

def setup_test
require_dependencies 'rack-test', :require => 'rack/test', :group => 'test'
require_dependencies 'riot', :group => 'test'
Expand All @@ -89,8 +103,14 @@ def generate_controller_test(name)

def generate_model_test(name)
riot_contents = RIOT_MODEL_TEST.gsub(/!NAME!/, name.to_s.underscore.camelize)
path = options[:app] == '.' ? '/..' : '/../..'
riot_contents.gsub!(/!PATH!/,path)
riot_contents.gsub!(/!PATH!/, recognize_path)
model_test_path = File.join('test',options[:app],'models',"#{name.to_s.underscore}_test.rb")
create_file destination_root(model_test_path), riot_contents, :skip => true
end

def generate_helper_test(name, project_name, app_name)
riot_contents = RIOT_HELPER_TEST.gsub(/!NAME!/, "#{project_name}::#{app_name}::#{name}")
riot_contents.gsub!(/!PATH!/, recognize_path)
helper_spec_path = File.join('test', options[:app], 'helpers', "#{name.underscore}_test.rb")
create_file destination_root(helper_spec_path), riot_contents, :skip => true
end
20 changes: 20 additions & 0 deletions padrino-gen/lib/padrino-gen/generators/components/tests/rspec.rb
Expand Up @@ -65,6 +65,20 @@ def app(app = nil, &blk)
end
TEST

RSPEC_HELPER_TEST = (<<-TEST) unless defined?(RSPEC_HELPER_TEST)
require 'spec_helper'
describe "!NAME!" do
let(:helpers){ Class.new }
before { helpers.extend !NAME! }
subject { helpers }
it "should return nil" do
expect(subject.foo).to be_nil
end
end
TEST

def setup_test
require_dependencies 'rack-test', :require => 'rack/test', :group => 'test'
require_dependencies 'rspec', :group => 'test'
Expand All @@ -83,3 +97,9 @@ def generate_model_test(name)
model_spec_path = File.join('spec',options[:app],'models',"#{name.to_s.underscore}_spec.rb")
create_file destination_root(model_spec_path), rspec_contents, :skip => true
end

def generate_helper_test(name, project_name, app_name)
rspec_contents = RSPEC_HELPER_TEST.gsub(/!NAME!/, "#{project_name}::#{app_name}::#{name}")
helper_spec_path = File.join('spec', options[:app], 'helpers', "#{name.underscore}_spec.rb")
create_file destination_root(helper_spec_path), rspec_contents, :skip => true
end
31 changes: 29 additions & 2 deletions padrino-gen/lib/padrino-gen/generators/components/tests/shoulda.rb
Expand Up @@ -68,6 +68,27 @@ class !NAME!Test < Test::Unit::TestCase
end
TEST

SHOULDA_HELPER_TEST = (<<-TEST) unless defined?(SHOULDA_HELPER_TEST)
require File.expand_path(File.dirname(__FILE__) + '!PATH!/test_config.rb')
class !NAME!Test < Test::Unit::TestCase
context "!NAME!" do
setup do
@helpers = Class.new
@helpers.extend !NAME!
end
def helpers
@helpers
end
should "return nil" do
assert_equal nil, helpers.foo
end
end
end
TEST

def setup_test
require_dependencies 'rack-test', :require => 'rack/test', :group => 'test'
require_dependencies 'shoulda', :group => 'test'
Expand All @@ -83,8 +104,14 @@ def generate_controller_test(name)

def generate_model_test(name)
shoulda_contents = SHOULDA_MODEL_TEST.gsub(/!NAME!/, name.to_s.underscore.camelize).gsub(/!DNAME!/, name.to_s.underscore)
path = options[:app] == '.' ? '/..' : '/../..'
shoulda_contents.gsub!(/!PATH!/,path)
shoulda_contents.gsub!(/!PATH!/, recognize_path)
model_test_path = File.join('test',options[:app],'models',"#{name.to_s.underscore}_test.rb")
create_file destination_root(model_test_path), shoulda_contents, :skip => true
end

def generate_helper_test(name, project_name, app_name)
shoulda_contents = SHOULDA_HELPER_TEST.gsub(/!NAME!/, "#{project_name}::#{app_name}::#{name}")
shoulda_contents.gsub!(/!PATH!/, recognize_path)
helper_spec_path = File.join('test', options[:app], 'helpers', "#{name.underscore}_test.rb")
create_file destination_root(helper_spec_path), shoulda_contents, :skip => true
end
22 changes: 21 additions & 1 deletion padrino-gen/lib/padrino-gen/generators/components/tests/steak.rb
@@ -1,5 +1,5 @@
STEAK_SETUP = (<<-TEST).gsub(/^ {12}/, '') unless defined?(STEAK_SETUP)
PADRINO_ENV = 'test' unless defined?(PADRINO_ENV)
RACK_ENV = 'test' unless defined?(RACK_ENV)
require File.expand_path(File.dirname(__FILE__) + "/../config/boot")
RSpec.configure do |conf|
Expand Down Expand Up @@ -68,6 +68,20 @@ def app
end
TEST

STEAK_HELPER_TEST = <<-TEST unless defined?(STEAK_HELPER_TEST)
require 'spec_helper'
describe "!NAME!" do
let(:helpers){ Class.new }
before { helpers.extend !NAME! }
subject { helpers }
it "should return nil" do
expect(subject.foo).to be_nil
end
end
TEST

def setup_test
require_dependencies 'rack-test', :require => 'rack/test', :group => 'test'
require_dependencies 'steak', :group => 'test'
Expand All @@ -91,3 +105,9 @@ def generate_model_test(name)
model_spec_path = File.join('spec',options[:app],'models',"#{name.to_s.underscore}_spec.rb")
create_file destination_root(model_spec_path), rspec_contents, :skip => true
end

def generate_helper_test(name, project_name, app_name)
rspec_contents = STEAK_HELPER_TEST.gsub(/!NAME!/, "#{project_name}::#{app_name}::#{name}")
helper_spec_path = File.join('spec', options[:app], 'helpers', "#{name.underscore}_spec.rb")
create_file destination_root(helper_spec_path), rspec_contents, :skip => true
end

0 comments on commit f35eb24

Please sign in to comment.