zero_generators 0.0.1

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.
Files changed (50) hide show
  1. data/README +38 -0
  2. data/generators/default_values.rb +21 -0
  3. data/generators/factory_scaffold/USAGE +15 -0
  4. data/generators/factory_scaffold/factory_scaffold_generator.rb +27 -0
  5. data/generators/factory_scaffold/templates/controller_spec.rb.erb +135 -0
  6. data/generators/factory_scaffold/templates/helper_spec.rb.erb +5 -0
  7. data/generators/factory_scaffold/templates/model_spec.rb.erb +8 -0
  8. data/generators/ferret_scaffold/USAGE +12 -0
  9. data/generators/ferret_scaffold/ferret_scaffold_generator.rb +92 -0
  10. data/generators/ferret_scaffold/templates/controller.rb.erb +128 -0
  11. data/generators/ferret_scaffold/templates/controller_spec.rb.erb +155 -0
  12. data/generators/ferret_scaffold/templates/helper.rb.erb +2 -0
  13. data/generators/ferret_scaffold/templates/helper_spec.rb.erb +7 -0
  14. data/generators/ferret_scaffold/templates/migration.rb.erb +20 -0
  15. data/generators/ferret_scaffold/templates/model.rb.erb +8 -0
  16. data/generators/ferret_scaffold/templates/model_spec.rb.erb +28 -0
  17. data/generators/ferret_scaffold/templates/views/_dados_busca.html.erb +11 -0
  18. data/generators/ferret_scaffold/templates/views/_dados_model.html.erb +8 -0
  19. data/generators/ferret_scaffold/templates/views/edit.html.erb +13 -0
  20. data/generators/ferret_scaffold/templates/views/index.html.erb +11 -0
  21. data/generators/ferret_scaffold/templates/views/layout.html.erb +18 -0
  22. data/generators/ferret_scaffold/templates/views/new.html.erb +12 -0
  23. data/generators/ferret_scaffold/templates/views/show.html.erb +16 -0
  24. data/generators/layout/USAGE +10 -0
  25. data/generators/layout/layout_generator.rb +22 -0
  26. data/generators/layout/templates/README +7 -0
  27. data/generators/layout/templates/layout.html.erb +26 -0
  28. data/generators/layout/templates/pt_BR.yml +109 -0
  29. data/generators/layout/templates/stylesheet.css +60 -0
  30. data/generators/tdd_controller/USAGE +9 -0
  31. data/generators/tdd_controller/tdd_controller_generator.rb +15 -0
  32. data/generators/tdd_controller/templates/controller_spec.rb.erb +29 -0
  33. data/generators/tdd_model/USAGE +10 -0
  34. data/generators/tdd_model/tdd_model_generator.rb +17 -0
  35. data/generators/tdd_model/templates/model_spec.rb.erb +24 -0
  36. data/generators/tdd_scaffold/USAGE +11 -0
  37. data/generators/tdd_scaffold/tdd_scaffold_generator.rb +32 -0
  38. data/generators/tdd_scaffold/templates/controller_spec.rb.erb +125 -0
  39. data/generators/tdd_scaffold/templates/helper_spec.rb.erb +7 -0
  40. data/generators/tdd_scaffold/templates/model_spec.rb.erb +28 -0
  41. data/generators/tdd_scaffold_stub/USAGE +17 -0
  42. data/generators/tdd_scaffold_stub/tdd_scaffold_stub_generator.rb +40 -0
  43. data/generators/tdd_scaffold_stub/templates/controller_spec.rb.erb +157 -0
  44. data/generators/tdd_scaffold_stub/templates/edit.html.erb_spec.rb.erb +14 -0
  45. data/generators/tdd_scaffold_stub/templates/helper_spec.rb.erb +7 -0
  46. data/generators/tdd_scaffold_stub/templates/index.html.erb_spec.rb.erb +14 -0
  47. data/generators/tdd_scaffold_stub/templates/model_spec.rb.erb +24 -0
  48. data/generators/tdd_scaffold_stub/templates/new.html.erb_spec.rb.erb +12 -0
  49. data/generators/tdd_scaffold_stub/templates/show.html.erb_spec.rb.erb +14 -0
  50. metadata +112 -0
@@ -0,0 +1,157 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
+
3
+ describe <%= class_plural %>Controller do
4
+ def mock_<%= file_name %>(stubs = {})
5
+ @<%= file_name %> = mock_model(<%= class_name %>, stubs)
6
+ end
7
+
8
+ before(:each) do
9
+ @params = { :<%= file_name %> => {:um => 'parametro' }}
10
+ @campos = { 'um' => 'parametro' }
11
+ end
12
+
13
+ describe 'com muitos registros' do
14
+ before(:all) do
15
+ <%= class_name %>.stub!(:find).and_return(@array = [mock_<%= file_name %>])
16
+ @array.stub!(:to_xml).and_return('XML')
17
+ end
18
+
19
+ it 'deve expor todos os registros na ação index, ou um XML no REST' do
20
+ get :index
21
+ assigns[:<%= file_plural %>].should == @array
22
+ get :index, :format => 'xml'
23
+ response.body.should == 'XML'
24
+ end
25
+ end
26
+
27
+ describe 'com um registro' do
28
+ before(:each) do
29
+ <%= class_name %>.stub!(:find).and_return(mock_<%= file_name %>)
30
+ <%= class_name %>.stub!(:new).and_return(@<%= file_name %>)
31
+ end
32
+
33
+ it 'deve expor o registro na tela edit' do
34
+ get :edit, :id => 1
35
+ assigns[:<%= file_name %>].should == @<%= file_name %>
36
+ end
37
+
38
+ it 'deve expor o registro na tela show, ou um XML no REST' do
39
+ get :show, :id => 1
40
+ assigns[:<%= file_name %>].should == @<%= file_name %>
41
+
42
+ @<%= file_name %>.should_receive(:to_xml).and_return('XML')
43
+ get :show, :id => 1, :format => 'xml'
44
+ response.body.should == 'XML'
45
+ end
46
+
47
+ it 'deve expor o registro na tela new, ou um XML no REST' do
48
+ get :new
49
+ assigns[:<%= file_name %>].should == @<%= file_name %>
50
+
51
+ @<%= file_name %>.should_receive(:to_xml).and_return('XML')
52
+ get :new, :format => 'xml'
53
+ response.body.should == 'XML'
54
+ end
55
+ end
56
+
57
+ describe 'com atributos válidos' do
58
+ describe 'respondendo ao POST' do
59
+ before(:each) do
60
+ <%= class_name %>.should_receive(:new).with(@campos).and_return(mock_<%= file_name %>(:save => true))
61
+ @<%= file_name %>.stub!(:to_xml).and_return("XML")
62
+ end
63
+
64
+ it 'deve criar um novo registro e redirecionar para ele após chamar o create' do
65
+ post :create, @params
66
+ assigns[:<%= file_name %>].should == @<%= file_name %>
67
+ response.should redirect_to <%= file_name %>_url(@<%= file_name %>)
68
+ end
69
+
70
+ it 'deve criar um novo registro após chamar o create com REST' do
71
+ post :create, @params.merge(:format => 'xml')
72
+ response.response_code.should == 201
73
+ response.body.should == 'XML'
74
+ response.location.should == <%= file_name %>_url(@<%= file_name %>)
75
+ end
76
+ end
77
+
78
+ describe 'respondendo ao PUT' do
79
+ before(:each) do
80
+ @params.update :id => 1
81
+ <%= class_name %>.should_receive(:find).with('1').and_return(mock_<%= file_name %>)
82
+ @<%= file_name %>.should_receive(:update_attributes).with(@campos).and_return(true)
83
+ @<%= file_name %>.stub!(:to_xml).and_return("XML")
84
+ end
85
+
86
+ it 'deve atualizar um registro e redirecionar para ele após chamar o update' do
87
+ put :update, @params
88
+ assigns[:<%= file_name %>].should == @<%= file_name %>
89
+ response.should redirect_to <%= file_name %>_url(@<%= file_name %>)
90
+ end
91
+
92
+ it 'deve atualizar um registro após chamar o update com REST' do
93
+ put :update, @params.merge(:format => 'xml')
94
+ response.should be_success
95
+ end
96
+ end
97
+ end
98
+
99
+ describe 'com atributos inválidos' do
100
+ describe 'respondendo ao POST' do
101
+ before(:each) do
102
+ <%= class_name %>.should_receive(:new).with(@campos).and_return(mock_<%= file_name %>(:save => false))
103
+ @<%= file_name %>.stub!(:errors).and_return('Erros')
104
+ end
105
+
106
+ it 'deve renderizar novamente a ação new, após chamar o create' do
107
+ post :create, @params
108
+ assigns[:<%= file_name %>].should == @<%= file_name %>
109
+ response.should render_template('new')
110
+ end
111
+
112
+ it 'deve renderizar um XML de erros após chamar o create com REST' do
113
+ post :create, @params.merge(:format => 'xml')
114
+ response.response_code.should == 422
115
+ response.body.should == 'Erros'
116
+ end
117
+ end
118
+
119
+ describe 'respondendo ao PUT' do
120
+ before(:each) do
121
+ @params.update :id => 1
122
+ <%= class_name %>.should_receive(:find).with('1').and_return(mock_<%= file_name %>)
123
+ @<%= file_name %>.should_receive(:update_attributes).with(@campos).and_return(false)
124
+ @<%= file_name %>.stub!(:errors).and_return("Erros")
125
+ end
126
+
127
+ it 'deve renderizar novamente a ação edit após chamar o update' do
128
+ put :update, @params
129
+ assigns[:<%= file_name %>].should == @<%= file_name %>
130
+ response.should render_template('edit')
131
+ end
132
+
133
+ it 'deve renderizar um XML de erros após chamar o update com REST' do
134
+ put :update, @params.merge(:format => 'xml')
135
+ response.response_code.should == 422
136
+ response.body.should == 'Erros'
137
+ end
138
+ end
139
+ end
140
+
141
+ describe 'respondendo ao DELETE' do
142
+ before(:each) do
143
+ <%= class_name %>.should_receive(:find).with('1').and_return(mock_<%= file_name %>)
144
+ @<%= file_name %>.should_receive(:destroy)
145
+ end
146
+
147
+ it 'deve deletar um registro após chamar o destroy e redirecionar para a listagem de <%= file_plural %>' do
148
+ delete :destroy, :id => 1
149
+ response.should redirect_to(<%= file_plural %>_url)
150
+ end
151
+
152
+ it 'deve deletar um registro após chamar o destroy com REST' do
153
+ delete :destroy, :id => 1, :format => 'xml'
154
+ response.should be_success
155
+ end
156
+ end
157
+ end
@@ -0,0 +1,14 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
+
3
+ describe 'views/<%= file_plural %>/edit.html.erb' do
4
+ fixtures :<%= file_plural %>
5
+
6
+ before(:each) do
7
+ assigns[:<%= file_name %>] = @<%= file_name %> = <%= class_name %>.first
8
+ end
9
+
10
+ it 'deve renderizar a página' do
11
+ render '<%= file_plural %>/edit.html.erb'
12
+ response.should be_success
13
+ end
14
+ end
@@ -0,0 +1,7 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
+
3
+ describe <%= class_plural %>Helper do
4
+ include <%= class_plural %>Helper
5
+
6
+ #Insira seus testes aqui
7
+ end
@@ -0,0 +1,14 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
+
3
+ describe 'views/<%= file_plural %>/index.html.erb' do
4
+ fixtures :<%= file_plural %>
5
+
6
+ before(:each) do
7
+ assigns[:<%= file_plural %>] = @<%= file_plural %> = <%= class_name %>.all
8
+ end
9
+
10
+ it 'deve renderizar a página' do
11
+ render '<%= file_plural %>/index.html.erb'
12
+ response.should be_success
13
+ end
14
+ end
@@ -0,0 +1,24 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
+
3
+ describe <%= class_name %> do
4
+ before(:each) do
5
+ @validos = {
6
+ <% attributes.each do |atributo| -%>
7
+ :<%= atributo.name %> => <%= atributo.default_value %>,
8
+ <% end -%>
9
+ }
10
+ end
11
+
12
+ it "deve ser criado se forem passados atributos válidos" do
13
+ <%= class_name %>.create!(@validos)
14
+ end
15
+
16
+ it 'deve validar a presença de determinados atributos' do
17
+ @<%= class_name.underscore %> = <%= class_name %>.create
18
+
19
+ #Coloque os atributos que devem ser checados no array a seguir
20
+ [].each do |atributo|
21
+ @<%= class_name.underscore %>.should have(1).error_on(atributo)
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,12 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
+
3
+ describe 'views/<%= file_plural %>/new.html.erb' do
4
+ before(:each) do
5
+ assigns[:<%= file_name %>] = @<%= file_name %> = <%= class_name %>.new
6
+ end
7
+
8
+ it 'deve renderizar a página' do
9
+ render '<%= file_plural %>/new.html.erb'
10
+ response.should be_success
11
+ end
12
+ end
@@ -0,0 +1,14 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
+
3
+ describe 'views/<%= file_plural %>/show.html.erb' do
4
+ fixtures :<%= file_plural %>
5
+
6
+ before(:each) do
7
+ assigns[:<%= file_name %>] = @<%= file_name %> = <%= class_name %>.first
8
+ end
9
+
10
+ it 'deve renderizar a página' do
11
+ render '<%= file_plural %>/show.html.erb'
12
+ response.should be_success
13
+ end
14
+ end
metadata ADDED
@@ -0,0 +1,112 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: zero_generators
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - "Maur\xC3\xADcio Szabo"
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2010-05-07 00:00:00 -03:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rails
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - <
22
+ - !ruby/object:Gem::Version
23
+ version: 3.0.0
24
+ version:
25
+ description:
26
+ email: mauricio.szabo@gmail.com
27
+ executables: []
28
+
29
+ extensions: []
30
+
31
+ extra_rdoc_files:
32
+ - README
33
+ files:
34
+ - generators/layout/USAGE
35
+ - generators/layout/templates/README
36
+ - generators/layout/templates/pt_BR.yml
37
+ - generators/layout/templates/stylesheet.css
38
+ - generators/layout/templates/layout.html.erb
39
+ - generators/layout/layout_generator.rb
40
+ - generators/tdd_scaffold_stub/USAGE
41
+ - generators/tdd_scaffold_stub/templates/edit.html.erb_spec.rb.erb
42
+ - generators/tdd_scaffold_stub/templates/show.html.erb_spec.rb.erb
43
+ - generators/tdd_scaffold_stub/templates/model_spec.rb.erb
44
+ - generators/tdd_scaffold_stub/templates/new.html.erb_spec.rb.erb
45
+ - generators/tdd_scaffold_stub/templates/controller_spec.rb.erb
46
+ - generators/tdd_scaffold_stub/templates/index.html.erb_spec.rb.erb
47
+ - generators/tdd_scaffold_stub/templates/helper_spec.rb.erb
48
+ - generators/tdd_scaffold_stub/tdd_scaffold_stub_generator.rb
49
+ - generators/default_values.rb
50
+ - generators/tdd_controller/USAGE
51
+ - generators/tdd_controller/templates/controller_spec.rb.erb
52
+ - generators/tdd_controller/tdd_controller_generator.rb
53
+ - generators/tdd_model/USAGE
54
+ - generators/tdd_model/tdd_model_generator.rb
55
+ - generators/tdd_model/templates/model_spec.rb.erb
56
+ - generators/tdd_scaffold/USAGE
57
+ - generators/tdd_scaffold/templates/model_spec.rb.erb
58
+ - generators/tdd_scaffold/templates/controller_spec.rb.erb
59
+ - generators/tdd_scaffold/templates/helper_spec.rb.erb
60
+ - generators/tdd_scaffold/tdd_scaffold_generator.rb
61
+ - generators/factory_scaffold/USAGE
62
+ - generators/factory_scaffold/templates/model_spec.rb.erb
63
+ - generators/factory_scaffold/templates/controller_spec.rb.erb
64
+ - generators/factory_scaffold/templates/helper_spec.rb.erb
65
+ - generators/factory_scaffold/factory_scaffold_generator.rb
66
+ - generators/ferret_scaffold/USAGE
67
+ - generators/ferret_scaffold/templates/model.rb.erb
68
+ - generators/ferret_scaffold/templates/model_spec.rb.erb
69
+ - generators/ferret_scaffold/templates/views/edit.html.erb
70
+ - generators/ferret_scaffold/templates/views/_dados_busca.html.erb
71
+ - generators/ferret_scaffold/templates/views/index.html.erb
72
+ - generators/ferret_scaffold/templates/views/show.html.erb
73
+ - generators/ferret_scaffold/templates/views/_dados_model.html.erb
74
+ - generators/ferret_scaffold/templates/views/layout.html.erb
75
+ - generators/ferret_scaffold/templates/views/new.html.erb
76
+ - generators/ferret_scaffold/templates/helper.rb.erb
77
+ - generators/ferret_scaffold/templates/migration.rb.erb
78
+ - generators/ferret_scaffold/templates/controller_spec.rb.erb
79
+ - generators/ferret_scaffold/templates/helper_spec.rb.erb
80
+ - generators/ferret_scaffold/templates/controller.rb.erb
81
+ - generators/ferret_scaffold/ferret_scaffold_generator.rb
82
+ - README
83
+ has_rdoc: true
84
+ homepage: http://github.com/mauricioszabo/zero_generators
85
+ licenses: []
86
+
87
+ post_install_message:
88
+ rdoc_options: []
89
+
90
+ require_paths:
91
+ - ""
92
+ required_ruby_version: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: "0"
97
+ version:
98
+ required_rubygems_version: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: "0"
103
+ version:
104
+ requirements: []
105
+
106
+ rubyforge_project:
107
+ rubygems_version: 1.3.5
108
+ signing_key:
109
+ specification_version: 3
110
+ summary: "Colet\xC3\xA2nea de geradores de c\xC3\xB3digo para Rails."
111
+ test_files: []
112
+