rails3-generators 0.3.3 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.rdoc +2 -2
- data/Rakefile +1 -1
- data/VERSION +1 -1
- data/lib/generators/haml/scaffold/templates/index.haml.erb +6 -6
- data/rails3-generators.gemspec +3 -37
- metadata +3 -37
- data/lib/generators/rspec.rb +0 -25
- data/lib/generators/rspec/controller/controller_generator.rb +0 -26
- data/lib/generators/rspec/controller/templates/controller_spec.rb +0 -23
- data/lib/generators/rspec/controller/templates/view_spec.rb +0 -12
- data/lib/generators/rspec/helper/helper_generator.rb +0 -11
- data/lib/generators/rspec/helper/templates/helper_spec.rb +0 -11
- data/lib/generators/rspec/install/install_generator.rb +0 -28
- data/lib/generators/rspec/install/templates/lib/tasks/rspec.rake +0 -182
- data/lib/generators/rspec/install/templates/script/autospec.tt +0 -6
- data/lib/generators/rspec/install/templates/script/spec.tt +0 -10
- data/lib/generators/rspec/install/templates/script/spec_server.tt +0 -9
- data/lib/generators/rspec/install/templates/spec/rcov.opts +0 -2
- data/lib/generators/rspec/install/templates/spec/spec.opts +0 -4
- data/lib/generators/rspec/install/templates/spec/spec_helper.rb +0 -51
- data/lib/generators/rspec/integration/integration_generator.rb +0 -12
- data/lib/generators/rspec/integration/templates/integration_spec.rb +0 -4
- data/lib/generators/rspec/mailer/mailer_generator.rb +0 -21
- data/lib/generators/rspec/mailer/templates/fixture +0 -3
- data/lib/generators/rspec/mailer/templates/mailer_spec.rb +0 -14
- data/lib/generators/rspec/model/model_generator.rb +0 -22
- data/lib/generators/rspec/model/templates/fixtures.yml +0 -19
- data/lib/generators/rspec/model/templates/model_spec.rb +0 -14
- data/lib/generators/rspec/observer/observer_generator.rb +0 -12
- data/lib/generators/rspec/observer/templates/observer_spec.rb +0 -5
- data/lib/generators/rspec/plugin/plugin_generator.rb +0 -11
- data/lib/generators/rspec/plugin/templates/%file_name%_spec.rb.tt +0 -5
- data/lib/generators/rspec/plugin/templates/test_helper.rb +0 -5
- data/lib/generators/rspec/scaffold/scaffold_generator.rb +0 -112
- data/lib/generators/rspec/scaffold/templates/controller_spec.rb +0 -127
- data/lib/generators/rspec/scaffold/templates/edit_spec.rb +0 -25
- data/lib/generators/rspec/scaffold/templates/index_spec.rb +0 -27
- data/lib/generators/rspec/scaffold/templates/new_spec.rb +0 -25
- data/lib/generators/rspec/scaffold/templates/routing_spec.rb +0 -67
- data/lib/generators/rspec/scaffold/templates/show_spec.rb +0 -22
data/README.rdoc
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
= rails3-generators
|
2
2
|
|
3
|
-
Rails 3 compatible generators for
|
3
|
+
Rails 3 compatible generators for DataMapper, Haml, Factory-girl, Authlogic and Mongomapper
|
4
4
|
|
5
5
|
== Note on Patches/Pull Requests
|
6
6
|
|
@@ -8,7 +8,7 @@ Fork the repo, add a generator, send a pull request. Pretty simple.
|
|
8
8
|
|
9
9
|
== Contributors
|
10
10
|
|
11
|
-
|
11
|
+
DataMapper generators: Jose Valim
|
12
12
|
|
13
13
|
Haml: Paul Berry, Anuj Dutta, Louis T
|
14
14
|
|
data/Rakefile
CHANGED
@@ -6,7 +6,7 @@ begin
|
|
6
6
|
Jeweler::Tasks.new do |gem|
|
7
7
|
gem.name = "rails3-generators"
|
8
8
|
gem.summary = %Q{Rails 3 compatible generators}
|
9
|
-
gem.description = %Q{Rails 3 compatible generators for
|
9
|
+
gem.description = %Q{Rails 3 compatible generators for DataMapper, Haml, Factory-girl, Authlogic, and Mongomapper}
|
10
10
|
gem.email = "andre@arko.net"
|
11
11
|
gem.homepage = "http://github.com/indirect/rails3-generators"
|
12
12
|
gem.authors = ["Jose Valim", "Anuj Dutta", "Paul Berry", "Jeff Tucker", "Louis T.", "Jai-Gouk Kim"]
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.4.0
|
@@ -9,14 +9,14 @@
|
|
9
9
|
%th
|
10
10
|
%th
|
11
11
|
|
12
|
-
- @<%= plural_name %>.each do |<%= singular_name %>|
|
13
|
-
|
12
|
+
- @<%= plural_name %>.each do |<%= singular_name %>|
|
13
|
+
%tr
|
14
14
|
<% for attribute in attributes -%>
|
15
|
-
|
15
|
+
%td= <%= singular_name %>.<%= attribute.name %>
|
16
16
|
<% end -%>
|
17
|
-
|
18
|
-
|
19
|
-
|
17
|
+
%td= link_to 'Show', <%= singular_name %>
|
18
|
+
%td= link_to 'Edit', edit_<%= singular_name %>_path(<%= singular_name %>)
|
19
|
+
%td= link_to 'Destroy', <%= singular_name %>, :confirm => 'Are you sure?', :method => :delete
|
20
20
|
|
21
21
|
%br
|
22
22
|
|
data/rails3-generators.gemspec
CHANGED
@@ -5,12 +5,12 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{rails3-generators}
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.4.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Jose Valim", "Anuj Dutta", "Paul Berry", "Jeff Tucker", "Louis T.", "Jai-Gouk Kim"]
|
12
|
-
s.date = %q{2010-
|
13
|
-
s.description = %q{Rails 3 compatible generators for
|
12
|
+
s.date = %q{2010-02-05}
|
13
|
+
s.description = %q{Rails 3 compatible generators for DataMapper, Haml, Factory-girl, Authlogic, and Mongomapper}
|
14
14
|
s.email = %q{andre@arko.net}
|
15
15
|
s.extra_rdoc_files = [
|
16
16
|
"README.rdoc"
|
@@ -48,40 +48,6 @@ Gem::Specification.new do |s|
|
|
48
48
|
"lib/generators/mongomapper/model/model_generator.rb",
|
49
49
|
"lib/generators/mongomapper/model/templates/model.rb",
|
50
50
|
"lib/generators/mongomapper/observer/observer_generator.rb",
|
51
|
-
"lib/generators/rspec.rb",
|
52
|
-
"lib/generators/rspec/controller/controller_generator.rb",
|
53
|
-
"lib/generators/rspec/controller/templates/controller_spec.rb",
|
54
|
-
"lib/generators/rspec/controller/templates/view_spec.rb",
|
55
|
-
"lib/generators/rspec/helper/helper_generator.rb",
|
56
|
-
"lib/generators/rspec/helper/templates/helper_spec.rb",
|
57
|
-
"lib/generators/rspec/install/install_generator.rb",
|
58
|
-
"lib/generators/rspec/install/templates/lib/tasks/rspec.rake",
|
59
|
-
"lib/generators/rspec/install/templates/script/autospec.tt",
|
60
|
-
"lib/generators/rspec/install/templates/script/spec.tt",
|
61
|
-
"lib/generators/rspec/install/templates/script/spec_server.tt",
|
62
|
-
"lib/generators/rspec/install/templates/spec/rcov.opts",
|
63
|
-
"lib/generators/rspec/install/templates/spec/spec.opts",
|
64
|
-
"lib/generators/rspec/install/templates/spec/spec_helper.rb",
|
65
|
-
"lib/generators/rspec/integration/integration_generator.rb",
|
66
|
-
"lib/generators/rspec/integration/templates/integration_spec.rb",
|
67
|
-
"lib/generators/rspec/mailer/mailer_generator.rb",
|
68
|
-
"lib/generators/rspec/mailer/templates/fixture",
|
69
|
-
"lib/generators/rspec/mailer/templates/mailer_spec.rb",
|
70
|
-
"lib/generators/rspec/model/model_generator.rb",
|
71
|
-
"lib/generators/rspec/model/templates/fixtures.yml",
|
72
|
-
"lib/generators/rspec/model/templates/model_spec.rb",
|
73
|
-
"lib/generators/rspec/observer/observer_generator.rb",
|
74
|
-
"lib/generators/rspec/observer/templates/observer_spec.rb",
|
75
|
-
"lib/generators/rspec/plugin/plugin_generator.rb",
|
76
|
-
"lib/generators/rspec/plugin/templates/%file_name%_spec.rb.tt",
|
77
|
-
"lib/generators/rspec/plugin/templates/test_helper.rb",
|
78
|
-
"lib/generators/rspec/scaffold/scaffold_generator.rb",
|
79
|
-
"lib/generators/rspec/scaffold/templates/controller_spec.rb",
|
80
|
-
"lib/generators/rspec/scaffold/templates/edit_spec.rb",
|
81
|
-
"lib/generators/rspec/scaffold/templates/index_spec.rb",
|
82
|
-
"lib/generators/rspec/scaffold/templates/new_spec.rb",
|
83
|
-
"lib/generators/rspec/scaffold/templates/routing_spec.rb",
|
84
|
-
"lib/generators/rspec/scaffold/templates/show_spec.rb",
|
85
51
|
"lib/rails3-generators.rb",
|
86
52
|
"rails3-generators.gemspec"
|
87
53
|
]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails3-generators
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jose Valim
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-
|
17
|
+
date: 2010-02-05 00:00:00 -05:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -27,7 +27,7 @@ dependencies:
|
|
27
27
|
- !ruby/object:Gem::Version
|
28
28
|
version: 1.2.9
|
29
29
|
version:
|
30
|
-
description: Rails 3 compatible generators for
|
30
|
+
description: Rails 3 compatible generators for DataMapper, Haml, Factory-girl, Authlogic, and Mongomapper
|
31
31
|
email: andre@arko.net
|
32
32
|
executables: []
|
33
33
|
|
@@ -68,40 +68,6 @@ files:
|
|
68
68
|
- lib/generators/mongomapper/model/model_generator.rb
|
69
69
|
- lib/generators/mongomapper/model/templates/model.rb
|
70
70
|
- lib/generators/mongomapper/observer/observer_generator.rb
|
71
|
-
- lib/generators/rspec.rb
|
72
|
-
- lib/generators/rspec/controller/controller_generator.rb
|
73
|
-
- lib/generators/rspec/controller/templates/controller_spec.rb
|
74
|
-
- lib/generators/rspec/controller/templates/view_spec.rb
|
75
|
-
- lib/generators/rspec/helper/helper_generator.rb
|
76
|
-
- lib/generators/rspec/helper/templates/helper_spec.rb
|
77
|
-
- lib/generators/rspec/install/install_generator.rb
|
78
|
-
- lib/generators/rspec/install/templates/lib/tasks/rspec.rake
|
79
|
-
- lib/generators/rspec/install/templates/script/autospec.tt
|
80
|
-
- lib/generators/rspec/install/templates/script/spec.tt
|
81
|
-
- lib/generators/rspec/install/templates/script/spec_server.tt
|
82
|
-
- lib/generators/rspec/install/templates/spec/rcov.opts
|
83
|
-
- lib/generators/rspec/install/templates/spec/spec.opts
|
84
|
-
- lib/generators/rspec/install/templates/spec/spec_helper.rb
|
85
|
-
- lib/generators/rspec/integration/integration_generator.rb
|
86
|
-
- lib/generators/rspec/integration/templates/integration_spec.rb
|
87
|
-
- lib/generators/rspec/mailer/mailer_generator.rb
|
88
|
-
- lib/generators/rspec/mailer/templates/fixture
|
89
|
-
- lib/generators/rspec/mailer/templates/mailer_spec.rb
|
90
|
-
- lib/generators/rspec/model/model_generator.rb
|
91
|
-
- lib/generators/rspec/model/templates/fixtures.yml
|
92
|
-
- lib/generators/rspec/model/templates/model_spec.rb
|
93
|
-
- lib/generators/rspec/observer/observer_generator.rb
|
94
|
-
- lib/generators/rspec/observer/templates/observer_spec.rb
|
95
|
-
- lib/generators/rspec/plugin/plugin_generator.rb
|
96
|
-
- lib/generators/rspec/plugin/templates/%file_name%_spec.rb.tt
|
97
|
-
- lib/generators/rspec/plugin/templates/test_helper.rb
|
98
|
-
- lib/generators/rspec/scaffold/scaffold_generator.rb
|
99
|
-
- lib/generators/rspec/scaffold/templates/controller_spec.rb
|
100
|
-
- lib/generators/rspec/scaffold/templates/edit_spec.rb
|
101
|
-
- lib/generators/rspec/scaffold/templates/index_spec.rb
|
102
|
-
- lib/generators/rspec/scaffold/templates/new_spec.rb
|
103
|
-
- lib/generators/rspec/scaffold/templates/routing_spec.rb
|
104
|
-
- lib/generators/rspec/scaffold/templates/show_spec.rb
|
105
71
|
- lib/rails3-generators.rb
|
106
72
|
- rails3-generators.gemspec
|
107
73
|
has_rdoc: true
|
data/lib/generators/rspec.rb
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
require 'rails/generators/named_base'
|
2
|
-
|
3
|
-
module Rspec
|
4
|
-
module Generators
|
5
|
-
class Base < Rails::Generators::NamedBase #:nodoc:
|
6
|
-
def self.source_root
|
7
|
-
@_rspec_source_root ||= File.expand_path(File.join(File.dirname(__FILE__), 'rspec', generator_name, 'templates'))
|
8
|
-
end
|
9
|
-
end
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
module Rails
|
14
|
-
module Generators
|
15
|
-
class GeneratedAttribute #:nodoc:
|
16
|
-
def input_type
|
17
|
-
@input_type ||= if type == :text
|
18
|
-
"textarea"
|
19
|
-
else
|
20
|
-
"input"
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
@@ -1,26 +0,0 @@
|
|
1
|
-
require 'generators/rspec'
|
2
|
-
|
3
|
-
module Rspec
|
4
|
-
module Generators
|
5
|
-
class ControllerGenerator < Base
|
6
|
-
argument :actions, :type => :array, :default => [], :banner => "action action"
|
7
|
-
|
8
|
-
class_option :template_engine, :desc => "Template engine to generate view files"
|
9
|
-
|
10
|
-
def create_controller_files
|
11
|
-
template 'controller_spec.rb',
|
12
|
-
File.join('spec/controllers', class_path, "#{file_name}_controller_spec.rb")
|
13
|
-
end
|
14
|
-
|
15
|
-
def create_view_files
|
16
|
-
empty_directory File.join("spec", "views", file_path)
|
17
|
-
|
18
|
-
actions.each do |action|
|
19
|
-
@action = action
|
20
|
-
template 'view_spec.rb',
|
21
|
-
File.join("spec", "views", file_path, "#{@action}.html.#{options[:template_engine]}_spec.rb")
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
@@ -1,23 +0,0 @@
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '<%= '/..' * class_nesting_depth %>/../spec_helper')
|
2
|
-
|
3
|
-
describe <%= class_name %>Controller do
|
4
|
-
|
5
|
-
<% if actions.empty? -%>
|
6
|
-
#Delete this example and add some real ones
|
7
|
-
<% else -%>
|
8
|
-
#Delete these examples and add some real ones
|
9
|
-
<% end -%>
|
10
|
-
it "should use <%= class_name %>Controller" do
|
11
|
-
controller.should be_an_instance_of(<%= class_name %>Controller)
|
12
|
-
end
|
13
|
-
|
14
|
-
<% for action in actions -%>
|
15
|
-
|
16
|
-
describe "GET '<%= action %>'" do
|
17
|
-
it "should be successful" do
|
18
|
-
get '<%= action %>'
|
19
|
-
response.should be_success
|
20
|
-
end
|
21
|
-
end
|
22
|
-
<% end -%>
|
23
|
-
end
|
@@ -1,12 +0,0 @@
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '<%= '/..' * class_nesting_depth %>/../../spec_helper')
|
2
|
-
|
3
|
-
describe "/<%= file_name %>/<%= @action %>.html.<%= options[:template_engine] %>" do
|
4
|
-
before(:each) do
|
5
|
-
render '<%= file_name %>/<%= @action %>'
|
6
|
-
end
|
7
|
-
|
8
|
-
#Delete this example and add some real ones or delete this file
|
9
|
-
it "should tell you where to find the file" do
|
10
|
-
response.should have_tag('p', %r[Find me in app/views/<%= file_path %>/<%= @action %>])
|
11
|
-
end
|
12
|
-
end
|
@@ -1,11 +0,0 @@
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '<%= '/..' * class_nesting_depth %>/../spec_helper')
|
2
|
-
|
3
|
-
describe <%= class_name %>Helper do
|
4
|
-
|
5
|
-
#Delete this example and add some real ones or delete this file
|
6
|
-
it "is included in the helper object" do
|
7
|
-
included_modules = (class << helper; self; end).send :included_modules
|
8
|
-
included_modules.should include(<%= class_name %>Helper)
|
9
|
-
end
|
10
|
-
|
11
|
-
end
|
@@ -1,28 +0,0 @@
|
|
1
|
-
module Rspec
|
2
|
-
module Generators
|
3
|
-
class InstallGenerator < Rails::Generators::Base
|
4
|
-
add_shebang_option!
|
5
|
-
|
6
|
-
desc <<DESC
|
7
|
-
Description:
|
8
|
-
Copy rspec files to your application.
|
9
|
-
DESC
|
10
|
-
|
11
|
-
def self.source_root
|
12
|
-
@source_root ||= File.expand_path(File.join(File.dirname(__FILE__), 'templates'))
|
13
|
-
end
|
14
|
-
|
15
|
-
def copy_lib_files
|
16
|
-
directory 'lib'
|
17
|
-
end
|
18
|
-
|
19
|
-
def copy_script_files
|
20
|
-
directory 'script'
|
21
|
-
end
|
22
|
-
|
23
|
-
def copy_spec_files
|
24
|
-
directory 'spec'
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
@@ -1,182 +0,0 @@
|
|
1
|
-
gem 'test-unit', '1.2.3' if RUBY_VERSION.to_f >= 1.9
|
2
|
-
rspec_gem_dir = nil
|
3
|
-
Dir["#{Rails.root}/vendor/gems/*"].each do |subdir|
|
4
|
-
rspec_gem_dir = subdir if subdir.gsub("#{Rails.root}/vendor/gems/","") =~ /^(\w+-)?rspec-(\d+)/ && File.exist?("#{subdir}/lib/spec/rake/spectask.rb")
|
5
|
-
end
|
6
|
-
rspec_plugin_dir = File.expand_path(File.dirname(__FILE__) + '/../../vendor/plugins/rspec')
|
7
|
-
|
8
|
-
if rspec_gem_dir && (test ?d, rspec_plugin_dir)
|
9
|
-
raise "\n#{'*'*50}\nYou have rspec installed in both vendor/gems and vendor/plugins\nPlease pick one and dispose of the other.\n#{'*'*50}\n\n"
|
10
|
-
end
|
11
|
-
|
12
|
-
if rspec_gem_dir
|
13
|
-
$LOAD_PATH.unshift("#{rspec_gem_dir}/lib")
|
14
|
-
elsif File.exist?(rspec_plugin_dir)
|
15
|
-
$LOAD_PATH.unshift("#{rspec_plugin_dir}/lib")
|
16
|
-
end
|
17
|
-
|
18
|
-
# Don't load rspec if running "rake gems:*"
|
19
|
-
unless ARGV.any? {|a| a =~ /^gems/}
|
20
|
-
|
21
|
-
begin
|
22
|
-
require 'spec/rake/spectask'
|
23
|
-
rescue MissingSourceFile
|
24
|
-
module Spec
|
25
|
-
module Rake
|
26
|
-
class SpecTask
|
27
|
-
def initialize(name)
|
28
|
-
task name do
|
29
|
-
# if rspec-rails is a configured gem, this will output helpful material and exit ...
|
30
|
-
require File.expand_path(File.dirname(__FILE__) + "/../../config/environment")
|
31
|
-
|
32
|
-
# ... otherwise, do this:
|
33
|
-
raise <<-MSG
|
34
|
-
|
35
|
-
#{"*" * 80}
|
36
|
-
* You are trying to run an rspec rake task defined in
|
37
|
-
* #{__FILE__},
|
38
|
-
* but rspec can not be found in vendor/gems, vendor/plugins or system gems.
|
39
|
-
#{"*" * 80}
|
40
|
-
MSG
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
Rake.application.instance_variable_get('@tasks').delete('default')
|
49
|
-
|
50
|
-
spec_prereq = File.exist?(File.join(Rails.root, 'config', 'database.yml')) ? "db:test:prepare" : :noop
|
51
|
-
task :noop do
|
52
|
-
end
|
53
|
-
|
54
|
-
task :default => :spec
|
55
|
-
task :stats => "spec:statsetup"
|
56
|
-
|
57
|
-
desc "Run all specs in spec directory (excluding plugin specs)"
|
58
|
-
Spec::Rake::SpecTask.new(:spec => spec_prereq) do |t|
|
59
|
-
t.spec_opts = ['--options', "\"#{Rails.root}/spec/spec.opts\""]
|
60
|
-
t.spec_files = FileList['spec/**/*_spec.rb']
|
61
|
-
end
|
62
|
-
|
63
|
-
namespace :spec do
|
64
|
-
desc "Run all specs in spec directory with RCov (excluding plugin specs)"
|
65
|
-
Spec::Rake::SpecTask.new(:rcov) do |t|
|
66
|
-
t.spec_opts = ['--options', "\"#{Rails.root}/spec/spec.opts\""]
|
67
|
-
t.spec_files = FileList['spec/**/*_spec.rb']
|
68
|
-
t.rcov = true
|
69
|
-
t.rcov_opts = lambda do
|
70
|
-
IO.readlines("#{Rails.root}/spec/rcov.opts").map {|l| l.chomp.split " "}.flatten
|
71
|
-
end
|
72
|
-
end
|
73
|
-
|
74
|
-
desc "Print Specdoc for all specs (excluding plugin specs)"
|
75
|
-
Spec::Rake::SpecTask.new(:doc) do |t|
|
76
|
-
t.spec_opts = ["--format", "specdoc", "--dry-run"]
|
77
|
-
t.spec_files = FileList['spec/**/*_spec.rb']
|
78
|
-
end
|
79
|
-
|
80
|
-
desc "Print Specdoc for all plugin examples"
|
81
|
-
Spec::Rake::SpecTask.new(:plugin_doc) do |t|
|
82
|
-
t.spec_opts = ["--format", "specdoc", "--dry-run"]
|
83
|
-
t.spec_files = FileList['vendor/plugins/**/spec/**/*_spec.rb'].exclude('vendor/plugins/rspec/*')
|
84
|
-
end
|
85
|
-
|
86
|
-
[:models, :controllers, :views, :helpers, :lib, :integration].each do |sub|
|
87
|
-
desc "Run the code examples in spec/#{sub}"
|
88
|
-
Spec::Rake::SpecTask.new(sub => spec_prereq) do |t|
|
89
|
-
t.spec_opts = ['--options', "\"#{Rails.root}/spec/spec.opts\""]
|
90
|
-
t.spec_files = FileList["spec/#{sub}/**/*_spec.rb"]
|
91
|
-
end
|
92
|
-
end
|
93
|
-
|
94
|
-
desc "Run the code examples in vendor/plugins (except RSpec's own)"
|
95
|
-
Spec::Rake::SpecTask.new(:plugins => spec_prereq) do |t|
|
96
|
-
t.spec_opts = ['--options', "\"#{Rails.root}/spec/spec.opts\""]
|
97
|
-
t.spec_files = FileList['vendor/plugins/**/spec/**/*_spec.rb'].exclude('vendor/plugins/rspec/*').exclude("vendor/plugins/rspec-rails/*")
|
98
|
-
end
|
99
|
-
|
100
|
-
namespace :plugins do
|
101
|
-
desc "Runs the examples for rspec_on_rails"
|
102
|
-
Spec::Rake::SpecTask.new(:rspec_on_rails) do |t|
|
103
|
-
t.spec_opts = ['--options', "\"#{Rails.root}/spec/spec.opts\""]
|
104
|
-
t.spec_files = FileList['vendor/plugins/rspec-rails/spec/**/*_spec.rb']
|
105
|
-
end
|
106
|
-
end
|
107
|
-
|
108
|
-
# Setup specs for stats
|
109
|
-
task :statsetup do
|
110
|
-
require 'code_statistics'
|
111
|
-
::STATS_DIRECTORIES << %w(Model\ specs spec/models) if File.exist?('spec/models')
|
112
|
-
::STATS_DIRECTORIES << %w(View\ specs spec/views) if File.exist?('spec/views')
|
113
|
-
::STATS_DIRECTORIES << %w(Controller\ specs spec/controllers) if File.exist?('spec/controllers')
|
114
|
-
::STATS_DIRECTORIES << %w(Helper\ specs spec/helpers) if File.exist?('spec/helpers')
|
115
|
-
::STATS_DIRECTORIES << %w(Library\ specs spec/lib) if File.exist?('spec/lib')
|
116
|
-
::STATS_DIRECTORIES << %w(Routing\ specs spec/routing) if File.exist?('spec/routing')
|
117
|
-
::STATS_DIRECTORIES << %w(Integration\ specs spec/integration) if File.exist?('spec/integration')
|
118
|
-
::CodeStatistics::TEST_TYPES << "Model specs" if File.exist?('spec/models')
|
119
|
-
::CodeStatistics::TEST_TYPES << "View specs" if File.exist?('spec/views')
|
120
|
-
::CodeStatistics::TEST_TYPES << "Controller specs" if File.exist?('spec/controllers')
|
121
|
-
::CodeStatistics::TEST_TYPES << "Helper specs" if File.exist?('spec/helpers')
|
122
|
-
::CodeStatistics::TEST_TYPES << "Library specs" if File.exist?('spec/lib')
|
123
|
-
::CodeStatistics::TEST_TYPES << "Routing specs" if File.exist?('spec/routing')
|
124
|
-
::CodeStatistics::TEST_TYPES << "Integration specs" if File.exist?('spec/integration')
|
125
|
-
end
|
126
|
-
|
127
|
-
namespace :db do
|
128
|
-
namespace :fixtures do
|
129
|
-
desc "Load fixtures (from spec/fixtures) into the current environment's database. Load specific fixtures using FIXTURES=x,y. Load from subdirectory in test/fixtures using FIXTURES_DIR=z."
|
130
|
-
task :load => :environment do
|
131
|
-
ActiveRecord::Base.establish_connection(Rails.env)
|
132
|
-
base_dir = File.join(Rails.root, 'spec', 'fixtures')
|
133
|
-
fixtures_dir = ENV['FIXTURES_DIR'] ? File.join(base_dir, ENV['FIXTURES_DIR']) : base_dir
|
134
|
-
|
135
|
-
require 'active_record/fixtures'
|
136
|
-
(ENV['FIXTURES'] ? ENV['FIXTURES'].split(/,/).map {|f| File.join(fixtures_dir, f) } : Dir.glob(File.join(fixtures_dir, '*.{yml,csv}'))).each do |fixture_file|
|
137
|
-
Fixtures.create_fixtures(File.dirname(fixture_file), File.basename(fixture_file, '.*'))
|
138
|
-
end
|
139
|
-
end
|
140
|
-
end
|
141
|
-
end
|
142
|
-
|
143
|
-
namespace :server do
|
144
|
-
daemonized_server_pid = File.expand_path("#{Rails.root}/tmp/pids/spec_server.pid")
|
145
|
-
|
146
|
-
desc "start spec_server."
|
147
|
-
task :start do
|
148
|
-
if File.exist?(daemonized_server_pid)
|
149
|
-
$stderr.puts "spec_server is already running."
|
150
|
-
else
|
151
|
-
$stderr.puts %Q{Starting up spec_server ...}
|
152
|
-
FileUtils.mkdir_p('tmp/pids') unless test ?d, 'tmp/pids'
|
153
|
-
system("ruby", "script/spec_server", "--daemon", "--pid", daemonized_server_pid)
|
154
|
-
end
|
155
|
-
end
|
156
|
-
|
157
|
-
desc "stop spec_server."
|
158
|
-
task :stop do
|
159
|
-
unless File.exist?(daemonized_server_pid)
|
160
|
-
$stderr.puts "No server running."
|
161
|
-
else
|
162
|
-
$stderr.puts "Shutting down spec_server ..."
|
163
|
-
system("kill", "-s", "TERM", File.read(daemonized_server_pid).strip) &&
|
164
|
-
File.delete(daemonized_server_pid)
|
165
|
-
end
|
166
|
-
end
|
167
|
-
|
168
|
-
desc "restart spec_server."
|
169
|
-
task :restart => [:stop, :start]
|
170
|
-
|
171
|
-
desc "check if spec server is running"
|
172
|
-
task :status do
|
173
|
-
if File.exist?(daemonized_server_pid)
|
174
|
-
$stderr.puts %Q{spec_server is running (PID: #{File.read(daemonized_server_pid).gsub("\n","")})}
|
175
|
-
else
|
176
|
-
$stderr.puts "No server running."
|
177
|
-
end
|
178
|
-
end
|
179
|
-
end
|
180
|
-
end
|
181
|
-
|
182
|
-
end
|
@@ -1,6 +0,0 @@
|
|
1
|
-
<%= shebang %>
|
2
|
-
gem 'test-unit', '1.2.3' if RUBY_VERSION.to_f >= 1.9
|
3
|
-
ENV['RSPEC'] = 'true' # allows autotest to discover rspec
|
4
|
-
ENV['AUTOTEST'] = 'true' # allows autotest to run w/ color on linux
|
5
|
-
system((RUBY_PLATFORM =~ /mswin|mingw/ ? 'autotest.bat' : 'autotest'), *ARGV) ||
|
6
|
-
$stderr.puts("Unable to find autotest. Please install ZenTest or fix your PATH")
|
@@ -1,10 +0,0 @@
|
|
1
|
-
<%= shebang %>
|
2
|
-
if ARGV.any? {|arg| %w[--drb -X --generate-options -G --help -h --version -v].include?(arg)}
|
3
|
-
require 'rubygems' unless ENV['NO_RUBYGEMS']
|
4
|
-
else
|
5
|
-
gem 'test-unit', '1.2.3' if RUBY_VERSION.to_f >= 1.9
|
6
|
-
ENV["RAILS_ENV"] ||= 'test'
|
7
|
-
require File.expand_path(File.dirname(__FILE__) + "/../config/environment") unless defined?(Rails.root)
|
8
|
-
end
|
9
|
-
require 'spec/autorun'
|
10
|
-
exit ::Spec::Runner::CommandLine.run
|
@@ -1,9 +0,0 @@
|
|
1
|
-
<%= shebang %>
|
2
|
-
gem 'test-unit', '1.2.3' if RUBY_VERSION.to_f >= 1.9
|
3
|
-
|
4
|
-
puts "Loading Rails environment"
|
5
|
-
ENV["RAILS_ENV"] ||= 'test'
|
6
|
-
require File.expand_path(File.dirname(__FILE__) + "/../config/environment") unless defined?(Rails.root)
|
7
|
-
|
8
|
-
require 'optparse'
|
9
|
-
require 'spec/rails/spec_server'
|
@@ -1,51 +0,0 @@
|
|
1
|
-
# This file is copied to ~/spec when you run 'ruby script/generate rspec'
|
2
|
-
# from the project root directory.
|
3
|
-
ENV["RAILS_ENV"] ||= 'test'
|
4
|
-
require File.dirname(__FILE__) + "/../config/environment" unless defined?(Rails.root)
|
5
|
-
require 'spec/autorun'
|
6
|
-
require 'spec/rails'
|
7
|
-
|
8
|
-
# Requires supporting files with custom matchers and macros, etc,
|
9
|
-
# in ./support/ and its subdirectories.
|
10
|
-
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
|
11
|
-
|
12
|
-
Spec::Runner.configure do |config|
|
13
|
-
# If you're not using ActiveRecord you should remove these
|
14
|
-
# lines, delete config/database.yml and disable :active_record
|
15
|
-
# in your config/boot.rb
|
16
|
-
config.use_transactional_fixtures = true
|
17
|
-
config.use_instantiated_fixtures = false
|
18
|
-
config.fixture_path = Rails.root + '/spec/fixtures/'
|
19
|
-
|
20
|
-
# == Fixtures
|
21
|
-
#
|
22
|
-
# You can declare fixtures for each example_group like this:
|
23
|
-
# describe "...." do
|
24
|
-
# fixtures :table_a, :table_b
|
25
|
-
#
|
26
|
-
# Alternatively, if you prefer to declare them only once, you can
|
27
|
-
# do so right here. Just uncomment the next line and replace the fixture
|
28
|
-
# names with your fixtures.
|
29
|
-
#
|
30
|
-
# config.global_fixtures = :table_a, :table_b
|
31
|
-
#
|
32
|
-
# If you declare global fixtures, be aware that they will be declared
|
33
|
-
# for all of your examples, even those that don't use them.
|
34
|
-
#
|
35
|
-
# You can also declare which fixtures to use (for example fixtures for test/fixtures):
|
36
|
-
#
|
37
|
-
# config.fixture_path = Rails.root + '/spec/fixtures/'
|
38
|
-
#
|
39
|
-
# == Mock Framework
|
40
|
-
#
|
41
|
-
# RSpec uses it's own mocking framework by default. If you prefer to
|
42
|
-
# use mocha, flexmock or RR, uncomment the appropriate line:
|
43
|
-
#
|
44
|
-
# config.mock_with :mocha
|
45
|
-
# config.mock_with :flexmock
|
46
|
-
# config.mock_with :rr
|
47
|
-
#
|
48
|
-
# == Notes
|
49
|
-
#
|
50
|
-
# For more information take a look at Spec::Runner::Configuration and Spec::Runner
|
51
|
-
end
|
@@ -1,12 +0,0 @@
|
|
1
|
-
require 'generators/rspec'
|
2
|
-
|
3
|
-
module Rspec
|
4
|
-
module Generators
|
5
|
-
class IntegrationGenerator < Base
|
6
|
-
def create_integration_file
|
7
|
-
template 'integration_spec.rb',
|
8
|
-
File.join('spec/integration', class_path, "#{table_name}_spec.rb")
|
9
|
-
end
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
require 'generators/rspec'
|
2
|
-
|
3
|
-
module Rspec
|
4
|
-
module Generators
|
5
|
-
class MailerGenerator < Base
|
6
|
-
argument :actions, :type => :array, :default => [], :banner => "method method"
|
7
|
-
|
8
|
-
def create_mailer_files
|
9
|
-
template "mailer_spec.rb",
|
10
|
-
File.join('spec', 'models', class_path, "#{file_name}_spec.rb")
|
11
|
-
end
|
12
|
-
|
13
|
-
def create_fixtures_files
|
14
|
-
actions.each do |action|
|
15
|
-
@action, @path = action, File.join(file_path, action)
|
16
|
-
template "fixture", File.join("spec/fixtures", @path)
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
@@ -1,14 +0,0 @@
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '<%= '/..' * class_nesting_depth %>/../spec_helper')
|
2
|
-
|
3
|
-
describe <%= class_name %> do
|
4
|
-
<% for action in actions -%>
|
5
|
-
it "should deliver <%= action.gsub("_", " ") %> message" do
|
6
|
-
@expected.subject = '<%= class_name %>#<%= action %>'
|
7
|
-
@expected.body = read_fixture('<%= action %>')
|
8
|
-
@expected.date = Time.now
|
9
|
-
|
10
|
-
@expected.encoded.should == <%= class_name %>.create_<%= action %>(@expected.date).encoded
|
11
|
-
end
|
12
|
-
|
13
|
-
<% end -%>
|
14
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
require 'generators/rspec'
|
2
|
-
|
3
|
-
module Rspec
|
4
|
-
module Generators
|
5
|
-
class ModelGenerator < Base
|
6
|
-
argument :attributes, :type => :array, :default => [], :banner => "field:type field:type"
|
7
|
-
class_option :fixture, :type => :boolean
|
8
|
-
|
9
|
-
def create_test_file
|
10
|
-
template 'model_spec.rb', File.join('spec/models', class_path, "#{file_name}_spec.rb")
|
11
|
-
end
|
12
|
-
|
13
|
-
hook_for :fixture_replacement
|
14
|
-
|
15
|
-
def create_fixture_file
|
16
|
-
if options[:fixture] && options[:fixture_replacement].nil?
|
17
|
-
template 'fixtures.yml', File.join('spec/fixtures', "#{table_name}.yml")
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
|
2
|
-
|
3
|
-
<% unless attributes.empty? -%>
|
4
|
-
one:
|
5
|
-
<% for attribute in attributes -%>
|
6
|
-
<%= attribute.name %>: <%= attribute.default %>
|
7
|
-
<% end -%>
|
8
|
-
|
9
|
-
two:
|
10
|
-
<% for attribute in attributes -%>
|
11
|
-
<%= attribute.name %>: <%= attribute.default %>
|
12
|
-
<% end -%>
|
13
|
-
<% else -%>
|
14
|
-
# one:
|
15
|
-
# column: value
|
16
|
-
#
|
17
|
-
# two:
|
18
|
-
# column: value
|
19
|
-
<% end -%>
|
@@ -1,14 +0,0 @@
|
|
1
|
-
vrequire File.expand_path(File.dirname(__FILE__) + '<%= '/..' * class_nesting_depth %>/../spec_helper')
|
2
|
-
|
3
|
-
describe <%= class_name %> do
|
4
|
-
before(:each) do
|
5
|
-
@valid_attributes = {
|
6
|
-
<%= attributes.map{ |a| ":#{a.name} => #{a.default.inspect}" }.join(",\n ") %>
|
7
|
-
}
|
8
|
-
end
|
9
|
-
|
10
|
-
it "should create a new instance given valid attributes" do
|
11
|
-
<%= class_name %>.create!(@valid_attributes)
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
@@ -1,12 +0,0 @@
|
|
1
|
-
require 'generators/rspec'
|
2
|
-
|
3
|
-
module Rspec
|
4
|
-
module Generators
|
5
|
-
class ObserverGenerator < Base
|
6
|
-
def create_observer_files
|
7
|
-
template 'observer_spec.rb',
|
8
|
-
File.join('spec', 'models', class_path, "#{file_name}_observer_spec.rb")
|
9
|
-
end
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
@@ -1,112 +0,0 @@
|
|
1
|
-
require 'generators/rspec'
|
2
|
-
require 'rails/generators/resource_helpers'
|
3
|
-
|
4
|
-
module Rspec
|
5
|
-
module Generators
|
6
|
-
class ScaffoldGenerator < Base
|
7
|
-
include Rails::Generators::ResourceHelpers
|
8
|
-
argument :attributes, :type => :array, :default => [], :banner => "field:type field:type"
|
9
|
-
|
10
|
-
class_option :orm, :desc => "ORM used to generate the controller"
|
11
|
-
class_option :template_engine, :desc => "Template engine to generate view files"
|
12
|
-
class_option :singleton, :type => :boolean, :desc => "Supply to create a singleton controller"
|
13
|
-
|
14
|
-
class_option :views, :type => :boolean, :default => true
|
15
|
-
class_option :routes, :type => :boolean, :default => true
|
16
|
-
|
17
|
-
def copy_controller_files
|
18
|
-
template 'controller_spec.rb',
|
19
|
-
File.join('spec/controllers', controller_class_path, "#{controller_file_name}_controller_spec.rb")
|
20
|
-
end
|
21
|
-
|
22
|
-
def copy_view_files
|
23
|
-
return unless options[:views]
|
24
|
-
|
25
|
-
copy_view :edit
|
26
|
-
copy_view :index unless options[:singleton]
|
27
|
-
copy_view :new
|
28
|
-
copy_view :show
|
29
|
-
end
|
30
|
-
|
31
|
-
def copy_routing_files
|
32
|
-
return unless options[:routes]
|
33
|
-
|
34
|
-
template 'routing_spec.rb',
|
35
|
-
File.join('spec/routing', controller_class_path, "#{controller_file_name}_routing_spec.rb")
|
36
|
-
end
|
37
|
-
|
38
|
-
hook_for :integration_tool, :as => :integration
|
39
|
-
|
40
|
-
protected
|
41
|
-
|
42
|
-
def copy_view(view)
|
43
|
-
template "#{view}_spec.rb",
|
44
|
-
File.join("spec/views", controller_file_path, "#{view}.html.#{options[:template_engine]}_spec.rb")
|
45
|
-
end
|
46
|
-
|
47
|
-
def params
|
48
|
-
"{'these' => 'params'}"
|
49
|
-
end
|
50
|
-
|
51
|
-
# Returns the name of the mock. For example, if the file name is user,
|
52
|
-
# it returns mock_user.
|
53
|
-
#
|
54
|
-
# If a hash is given, it uses the hash key as the ORM method and the
|
55
|
-
# value as response. So, for ActiveRecord and file name "User":
|
56
|
-
#
|
57
|
-
# mock_file_name(:save => true)
|
58
|
-
# #=> mock_user(:save => true)
|
59
|
-
#
|
60
|
-
# If another ORM is being used and another method instead of save is
|
61
|
-
# called, it will be the one used.
|
62
|
-
#
|
63
|
-
def mock_file_name(hash=nil)
|
64
|
-
if hash
|
65
|
-
method, and_return = hash.to_a.first
|
66
|
-
method = orm_instance.send(method).split('.').last.gsub(/\(.*?\)/, '')
|
67
|
-
"mock_#{file_name}(:#{method} => #{and_return})"
|
68
|
-
else
|
69
|
-
"mock_#{file_name}"
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
# Receives the ORM chain and convert to expects. For ActiveRecord:
|
74
|
-
#
|
75
|
-
# should! orm_class.find(User, "37")
|
76
|
-
# #=> User.should_receive(:find).with(37)
|
77
|
-
#
|
78
|
-
# For Datamapper:
|
79
|
-
#
|
80
|
-
# should! orm_class.find(User, "37")
|
81
|
-
# #=> User.should_receive(:get).with(37)
|
82
|
-
#
|
83
|
-
def should!(chain)
|
84
|
-
stub_or_should_chain(:should_receive, chain)
|
85
|
-
end
|
86
|
-
|
87
|
-
# Receives the ORM chain and convert to stub. For ActiveRecord:
|
88
|
-
#
|
89
|
-
# stub! orm_class.find(User, "37")
|
90
|
-
# #=> User.stub!(:find).with(37)
|
91
|
-
#
|
92
|
-
# For Datamapper:
|
93
|
-
#
|
94
|
-
# stub! orm_class.find(User, "37")
|
95
|
-
# #=> User.stub!(:get).with(37)
|
96
|
-
#
|
97
|
-
def stub!(chain)
|
98
|
-
stub_or_should_chain(:stub!, chain)
|
99
|
-
end
|
100
|
-
|
101
|
-
def stub_or_should_chain(mode, chain)
|
102
|
-
receiver, method = chain.split(".")
|
103
|
-
method.gsub!(/\((.*?)\)/, '')
|
104
|
-
|
105
|
-
response = "#{receiver}.#{mode}(:#{method})"
|
106
|
-
response << ".with(#{$1})" unless $1.blank?
|
107
|
-
response
|
108
|
-
end
|
109
|
-
|
110
|
-
end
|
111
|
-
end
|
112
|
-
end
|
@@ -1,127 +0,0 @@
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '<%= '/..' * class_nesting_depth %>/../spec_helper')
|
2
|
-
|
3
|
-
describe <%= controller_class_name %>Controller do
|
4
|
-
|
5
|
-
def <%= mock_file_name %>(stubs={})
|
6
|
-
@<%= mock_file_name %> ||= mock_model(<%= class_name %>, stubs)
|
7
|
-
end
|
8
|
-
|
9
|
-
<% unless options[:singleton] -%>
|
10
|
-
describe "GET index" do
|
11
|
-
it "assigns all <%= table_name.pluralize %> as @<%= table_name.pluralize %>" do
|
12
|
-
<%= stub! orm_class.all(class_name) %>.and_return([<%= mock_file_name %>])
|
13
|
-
get :index
|
14
|
-
assigns[:<%= table_name %>].should == [<%= mock_file_name %>]
|
15
|
-
end
|
16
|
-
end
|
17
|
-
<% end -%>
|
18
|
-
|
19
|
-
describe "GET show" do
|
20
|
-
it "assigns the requested <%= file_name %> as @<%= file_name %>" do
|
21
|
-
<%= stub! orm_class.find(class_name, "37".inspect) %>.and_return(<%= mock_file_name %>)
|
22
|
-
get :show, :id => "37"
|
23
|
-
assigns[:<%= file_name %>].should equal(<%= mock_file_name %>)
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
describe "GET new" do
|
28
|
-
it "assigns a new <%= file_name %> as @<%= file_name %>" do
|
29
|
-
<%= stub! orm_class.build(class_name) %>.and_return(<%= mock_file_name %>)
|
30
|
-
get :new
|
31
|
-
assigns[:<%= file_name %>].should equal(<%= mock_file_name %>)
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
describe "GET edit" do
|
36
|
-
it "assigns the requested <%= file_name %> as @<%= file_name %>" do
|
37
|
-
<%= stub! orm_class.find(class_name, "37".inspect) %>.and_return(<%= mock_file_name %>)
|
38
|
-
get :edit, :id => "37"
|
39
|
-
assigns[:<%= file_name %>].should equal(<%= mock_file_name %>)
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
describe "POST create" do
|
44
|
-
|
45
|
-
describe "with valid params" do
|
46
|
-
it "assigns a newly created <%= file_name %> as @<%= file_name %>" do
|
47
|
-
<%= stub! orm_class.build(class_name, params) %>.and_return(<%= mock_file_name(:save => true) %>)
|
48
|
-
post :create, :<%= file_name %> => <%= params %>
|
49
|
-
assigns[:<%= file_name %>].should equal(<%= mock_file_name %>)
|
50
|
-
end
|
51
|
-
|
52
|
-
it "redirects to the created <%= file_name %>" do
|
53
|
-
<%= stub! orm_class.build(class_name) %>.and_return(<%= mock_file_name(:save => true) %>)
|
54
|
-
post :create, :<%= file_name %> => {}
|
55
|
-
response.should redirect_to(<%= table_name.singularize %>_url(<%= mock_file_name %>))
|
56
|
-
end
|
57
|
-
end
|
58
|
-
|
59
|
-
describe "with invalid params" do
|
60
|
-
it "assigns a newly created but unsaved <%= file_name %> as @<%= file_name %>" do
|
61
|
-
<%= stub! orm_class.build(class_name, params) %>.and_return(<%= mock_file_name(:save => false) %>)
|
62
|
-
post :create, :<%= file_name %> => <%= params %>
|
63
|
-
assigns[:<%= file_name %>].should equal(<%= mock_file_name %>)
|
64
|
-
end
|
65
|
-
|
66
|
-
it "re-renders the 'new' template" do
|
67
|
-
<%= stub! orm_class.build(class_name) %>.and_return(<%= mock_file_name(:save => false) %>)
|
68
|
-
post :create, :<%= file_name %> => {}
|
69
|
-
response.should render_template('new')
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
end
|
74
|
-
|
75
|
-
describe "PUT update" do
|
76
|
-
|
77
|
-
describe "with valid params" do
|
78
|
-
it "updates the requested <%= file_name %>" do
|
79
|
-
<%= should! orm_class.find(class_name, "37".inspect) %>.and_return(<%= mock_file_name %>)
|
80
|
-
mock_<%= should! orm_instance.update_attributes(params) %>
|
81
|
-
put :update, :id => "37", :<%= file_name %> => <%= params %>
|
82
|
-
end
|
83
|
-
|
84
|
-
it "assigns the requested <%= file_name %> as @<%= file_name %>" do
|
85
|
-
<%= stub! orm_class.find(class_name) %>.and_return(<%= mock_file_name(:update_attributes => true) %>)
|
86
|
-
put :update, :id => "1"
|
87
|
-
assigns[:<%= file_name %>].should equal(<%= mock_file_name %>)
|
88
|
-
end
|
89
|
-
|
90
|
-
it "redirects to the <%= file_name %>" do
|
91
|
-
<%= stub! orm_class.find(class_name) %>.and_return(<%= mock_file_name(:update_attributes => true) %>)
|
92
|
-
put :update, :id => "1"
|
93
|
-
response.should redirect_to(<%= table_name.singularize %>_url(<%= mock_file_name %>))
|
94
|
-
end
|
95
|
-
end
|
96
|
-
|
97
|
-
describe "with invalid params" do
|
98
|
-
it "assigns the <%= file_name %> as @<%= file_name %>" do
|
99
|
-
<%= stub! orm_class.find(class_name) %>.and_return(<%= mock_file_name(:update_attributes => false) %>)
|
100
|
-
put :update, :id => "1"
|
101
|
-
assigns[:<%= file_name %>].should equal(<%= mock_file_name %>)
|
102
|
-
end
|
103
|
-
|
104
|
-
it "re-renders the 'edit' template" do
|
105
|
-
<%= stub! orm_class.find(class_name) %>.and_return(<%= mock_file_name(:update_attributes => false) %>)
|
106
|
-
put :update, :id => "1"
|
107
|
-
response.should render_template('edit')
|
108
|
-
end
|
109
|
-
end
|
110
|
-
|
111
|
-
end
|
112
|
-
|
113
|
-
describe "DELETE destroy" do
|
114
|
-
it "destroys the requested <%= file_name %>" do
|
115
|
-
<%= should! orm_class.find(class_name, "37".inspect) %>.and_return(<%= mock_file_name %>)
|
116
|
-
mock_<%= should! orm_instance.destroy %>
|
117
|
-
delete :destroy, :id => "37"
|
118
|
-
end
|
119
|
-
|
120
|
-
it "redirects to the <%= table_name %> list" do
|
121
|
-
<%= stub! orm_class.find(class_name) %>.and_return(<%= mock_file_name(:destroy => true) %>)
|
122
|
-
delete :destroy, :id => "1"
|
123
|
-
response.should redirect_to(<%= table_name %>_url)
|
124
|
-
end
|
125
|
-
end
|
126
|
-
|
127
|
-
end
|
@@ -1,25 +0,0 @@
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '<%= '/..' * class_nesting_depth %>/../../spec_helper')
|
2
|
-
|
3
|
-
<% output_attributes = attributes.reject{|attribute| [:datetime, :timestamp, :time, :date].index(attribute.type) } -%>
|
4
|
-
describe "/<%= table_name %>/edit.html.<%= options[:template_engine] %>" do
|
5
|
-
include <%= controller_class_name %>Helper
|
6
|
-
|
7
|
-
before(:each) do
|
8
|
-
assigns[:<%= file_name %>] = @<%= file_name %> = stub_model(<%= class_name %>,
|
9
|
-
:new_record? => false<%= output_attributes.empty? ? '' : ',' %>
|
10
|
-
<% output_attributes.each_with_index do |attribute, attribute_index| -%>
|
11
|
-
:<%= attribute.name %> => <%= attribute.default.inspect %><%= attribute_index == output_attributes.length - 1 ? '' : ','%>
|
12
|
-
<% end -%>
|
13
|
-
)
|
14
|
-
end
|
15
|
-
|
16
|
-
it "renders the edit <%= file_name %> form" do
|
17
|
-
render
|
18
|
-
|
19
|
-
response.should have_tag("form[action=#{<%= file_name %>_path(@<%= file_name %>)}][method=post]") do
|
20
|
-
<% for attribute in output_attributes -%>
|
21
|
-
with_tag('<%= attribute.input_type -%>#<%= file_name %>_<%= attribute.name %>[name=?]', "<%= file_name %>[<%= attribute.name %>]")
|
22
|
-
<% end -%>
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
@@ -1,27 +0,0 @@
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '<%= '/..' * class_nesting_depth %>/../../spec_helper')
|
2
|
-
|
3
|
-
<% output_attributes = attributes.reject{|attribute| [:datetime, :timestamp, :time, :date].index(attribute.type) } -%>
|
4
|
-
describe "/<%= table_name %>/index.html.<%= options[:template_engine] %>" do
|
5
|
-
include <%= controller_class_name %>Helper
|
6
|
-
|
7
|
-
before(:each) do
|
8
|
-
assigns[:<%= table_name %>] = [
|
9
|
-
<% [1,2].each_with_index do |id, model_index| -%>
|
10
|
-
stub_model(<%= class_name %><%= output_attributes.empty? ? (model_index == 1 ? ')' : '),') : ',' %>
|
11
|
-
<% output_attributes.each_with_index do |attribute, attribute_index| -%>
|
12
|
-
:<%= attribute.name %> => <%= attribute.default.inspect %><%= attribute_index == output_attributes.length - 1 ? '' : ','%>
|
13
|
-
<% end -%>
|
14
|
-
<% if !output_attributes.empty? -%>
|
15
|
-
<%= model_index == 1 ? ')' : '),' %>
|
16
|
-
<% end -%>
|
17
|
-
<% end -%>
|
18
|
-
]
|
19
|
-
end
|
20
|
-
|
21
|
-
it "renders a list of <%= table_name %>" do
|
22
|
-
render
|
23
|
-
<% for attribute in output_attributes -%>
|
24
|
-
response.should have_tag("tr>td", <%= attribute.default.inspect %>.to_s, 2)
|
25
|
-
<% end -%>
|
26
|
-
end
|
27
|
-
end
|
@@ -1,25 +0,0 @@
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '<%= '/..' * class_nesting_depth %>/../../spec_helper')
|
2
|
-
|
3
|
-
<% output_attributes = attributes.reject{|attribute| [:datetime, :timestamp, :time, :date].index(attribute.type) } -%>
|
4
|
-
describe "/<%= table_name %>/new.html.<%= options[:template_engine] %>" do
|
5
|
-
include <%= controller_class_name %>Helper
|
6
|
-
|
7
|
-
before(:each) do
|
8
|
-
assigns[:<%= file_name %>] = stub_model(<%= class_name %>,
|
9
|
-
:new_record? => true<%= output_attributes.empty? ? '' : ',' %>
|
10
|
-
<% output_attributes.each_with_index do |attribute, attribute_index| -%>
|
11
|
-
:<%= attribute.name %> => <%= attribute.default.inspect %><%= attribute_index == output_attributes.length - 1 ? '' : ','%>
|
12
|
-
<% end -%>
|
13
|
-
)
|
14
|
-
end
|
15
|
-
|
16
|
-
it "renders new <%= file_name %> form" do
|
17
|
-
render
|
18
|
-
|
19
|
-
response.should have_tag("form[action=?][method=post]", <%= table_name %>_path) do
|
20
|
-
<% for attribute in output_attributes -%>
|
21
|
-
with_tag("<%= attribute.input_type -%>#<%= file_name %>_<%= attribute.name %>[name=?]", "<%= file_name %>[<%= attribute.name %>]")
|
22
|
-
<% end -%>
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
@@ -1,67 +0,0 @@
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '<%= '/..' * class_nesting_depth %>/../spec_helper')
|
2
|
-
|
3
|
-
describe <%= controller_class_name %>Controller do
|
4
|
-
describe "route generation" do
|
5
|
-
<% unless options[:singleton] -%>
|
6
|
-
it "maps #index" do
|
7
|
-
route_for(:controller => "<%= table_name %>", :action => "index").should == "/<%= table_name %>"
|
8
|
-
end
|
9
|
-
<% end -%>
|
10
|
-
|
11
|
-
it "maps #new" do
|
12
|
-
route_for(:controller => "<%= table_name %>", :action => "new").should == "/<%= table_name %>/new"
|
13
|
-
end
|
14
|
-
|
15
|
-
it "maps #show" do
|
16
|
-
route_for(:controller => "<%= table_name %>", :action => "show", :id => "1").should == "/<%= table_name %>/1"
|
17
|
-
end
|
18
|
-
|
19
|
-
it "maps #edit" do
|
20
|
-
route_for(:controller => "<%= table_name %>", :action => "edit", :id => "1").should == "/<%= table_name %>/1/edit"
|
21
|
-
end
|
22
|
-
|
23
|
-
it "maps #create" do
|
24
|
-
route_for(:controller => "<%= table_name %>", :action => "create").should == {:path => "/<%= table_name %>", :method => :post}
|
25
|
-
end
|
26
|
-
|
27
|
-
it "maps #update" do
|
28
|
-
route_for(:controller => "<%= table_name %>", :action => "update", :id => "1").should == {:path =>"/<%= table_name %>/1", :method => :put}
|
29
|
-
end
|
30
|
-
|
31
|
-
it "maps #destroy" do
|
32
|
-
route_for(:controller => "<%= table_name %>", :action => "destroy", :id => "1").should == {:path =>"/<%= table_name %>/1", :method => :delete}
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
describe "route recognition" do
|
37
|
-
<% unless options[:singleton] -%>
|
38
|
-
it "generates params for #index" do
|
39
|
-
params_from(:get, "/<%= table_name %>").should == {:controller => "<%= table_name %>", :action => "index"}
|
40
|
-
end
|
41
|
-
<% end -%>
|
42
|
-
|
43
|
-
it "generates params for #new" do
|
44
|
-
params_from(:get, "/<%= table_name %>/new").should == {:controller => "<%= table_name %>", :action => "new"}
|
45
|
-
end
|
46
|
-
|
47
|
-
it "generates params for #create" do
|
48
|
-
params_from(:post, "/<%= table_name %>").should == {:controller => "<%= table_name %>", :action => "create"}
|
49
|
-
end
|
50
|
-
|
51
|
-
it "generates params for #show" do
|
52
|
-
params_from(:get, "/<%= table_name %>/1").should == {:controller => "<%= table_name %>", :action => "show", :id => "1"}
|
53
|
-
end
|
54
|
-
|
55
|
-
it "generates params for #edit" do
|
56
|
-
params_from(:get, "/<%= table_name %>/1/edit").should == {:controller => "<%= table_name %>", :action => "edit", :id => "1"}
|
57
|
-
end
|
58
|
-
|
59
|
-
it "generates params for #update" do
|
60
|
-
params_from(:put, "/<%= table_name %>/1").should == {:controller => "<%= table_name %>", :action => "update", :id => "1"}
|
61
|
-
end
|
62
|
-
|
63
|
-
it "generates params for #destroy" do
|
64
|
-
params_from(:delete, "/<%= table_name %>/1").should == {:controller => "<%= table_name %>", :action => "destroy", :id => "1"}
|
65
|
-
end
|
66
|
-
end
|
67
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '<%= '/..' * class_nesting_depth %>/../../spec_helper')
|
2
|
-
|
3
|
-
<% output_attributes = attributes.reject{|attribute| [:datetime, :timestamp, :time, :date].index(attribute.type) } -%>
|
4
|
-
describe "/<%= table_name %>/show.html.<%= options[:template_engine] %>" do
|
5
|
-
include <%= controller_class_name %>Helper
|
6
|
-
before(:each) do
|
7
|
-
assigns[:<%= file_name %>] = @<%= file_name %> = stub_model(<%= class_name %><%= output_attributes.empty? ? ')' : ',' %>
|
8
|
-
<% output_attributes.each_with_index do |attribute, attribute_index| -%>
|
9
|
-
:<%= attribute.name %> => <%= attribute.default.inspect %><%= attribute_index == output_attributes.length - 1 ? '' : ','%>
|
10
|
-
<% end -%>
|
11
|
-
<% if !output_attributes.empty? -%>
|
12
|
-
)
|
13
|
-
<% end -%>
|
14
|
-
end
|
15
|
-
|
16
|
-
it "renders attributes in <p>" do
|
17
|
-
render
|
18
|
-
<% for attribute in output_attributes -%>
|
19
|
-
response.should have_text(/<%= Regexp.escape(attribute.default.inspect).gsub(/^"|"$/, '')%>/)
|
20
|
-
<% end -%>
|
21
|
-
end
|
22
|
-
end
|