test_battery 0.0.0 → 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.
data/README.md CHANGED
@@ -17,6 +17,6 @@ Generators
17
17
 
18
18
  Controller Crud Generator:
19
19
 
20
- rails g crud_controller kittens
20
+ rails g battery_controller kittens
21
21
 
22
22
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.0
1
+ 0.0.1
@@ -0,0 +1,41 @@
1
+ require 'rails/generators'
2
+
3
+ class BatteryControllerGenerator < Rails::Generators::Base
4
+
5
+ source_root File.expand_path('../templates', __FILE__)
6
+ argument :controller_name, :type => :string
7
+
8
+ def generate_controller
9
+ template 'crud_controller.rb', "app/controllers/#{models}_controller.rb"
10
+ end
11
+
12
+ def generate_views
13
+ template 'views/index.html.haml', "app/views/#{models}/index.html.haml"
14
+ template 'views/show.html.haml', "app/views/#{models}/show.html.haml"
15
+ template 'views/new.html.haml', "app/views/#{models}/new.html.haml"
16
+ template 'views/edit.html.haml', "app/views/#{models}/edit.html.haml"
17
+ template 'views/_form.html.haml', "app/views/#{models}/_form.html.haml"
18
+ end
19
+
20
+ def generate_test
21
+ template 'crud_controller_test.rb', "test/functional/#{models}_controller_test.rb"
22
+ end
23
+
24
+ private
25
+
26
+ def model
27
+ @model ||= models.singularize
28
+ end
29
+
30
+ def models
31
+ @models ||= controller_name.underscore
32
+ end
33
+
34
+ def model_class_name
35
+ @model_class_name ||= model.camelize
36
+ end
37
+
38
+ def controller_class_name
39
+ @controller_class_name ||= models.camelize
40
+ end
41
+ end
@@ -21,7 +21,7 @@ class <%=controller_class_name%>Controller < ApplicationController
21
21
 
22
22
  def create
23
23
  @<%=model%>.save!
24
- flash[:notice] = '<%model_class_name%> created'
24
+ flash[:notice] = '<%=model_class_name%> created'
25
25
  redirect_to :action => :show, :id => @<%=model%>
26
26
  rescue ActiveRecord::RecordInvalid
27
27
  flash.now[:error] = 'Failed to create <%=model_class_name%>'
@@ -39,7 +39,7 @@ class <%=controller_class_name%>Controller < ApplicationController
39
39
 
40
40
  def destroy
41
41
  @<%=model%>.destroy
42
- flash[:notice] = '<%model_class_name%> deleted'
42
+ flash[:notice] = '<%=model_class_name%> deleted'
43
43
  redirect_to :action => :index
44
44
  end
45
45
 
@@ -50,7 +50,7 @@ protected
50
50
  end
51
51
 
52
52
  def load_<%=model%>
53
- @<%=model%> = <%model_class_name%>.find(params[:<%=model%>])
53
+ @<%=model%> = <%=model_class_name%>.find(params[:id])
54
54
  rescue ActiveRecord::RecordNotFound
55
55
  flash[:error] = '<%=model_class_name%> not found'
56
56
  redirect_to :action => :index
@@ -1,6 +1,6 @@
1
1
  require File.expand_path('../test_helper', File.dirname(__FILE__))
2
2
 
3
- class <%=controller_class_name%>Test < ActionController::TestCase
3
+ class <%=controller_class_name%>ControllerTest < ActionController::TestCase
4
4
 
5
5
  def test_get_index
6
6
  get :index
@@ -12,14 +12,14 @@ class <%=controller_class_name%>Test < ActionController::TestCase
12
12
  def test_get_show
13
13
  <%=model%> = <%=models%>(:default)
14
14
  get :show, :id => <%=model%>
15
- assert assigns(:<%model%>)
15
+ assert assigns(:<%=model%>)
16
16
  assert_response :success
17
17
  assert_template :show
18
18
  end
19
19
 
20
20
  def test_get_show_failure
21
21
  get :show, :id => 'invalid'
22
- assert_reponse :redirect
22
+ assert_response :redirect
23
23
  assert_redirected_to :action => :index
24
24
  assert_equal '<%=model_class_name%> not found', flash[:error]
25
25
  end
@@ -60,7 +60,7 @@ class <%=controller_class_name%>Test < ActionController::TestCase
60
60
  }
61
61
  assert_response :success
62
62
  assert_template :new
63
- assert_equal 'Failed to create <%=model_class_name%>'
63
+ assert_equal 'Failed to create <%=model_class_name%>', flash[:error]
64
64
  end
65
65
  end
66
66
 
@@ -94,7 +94,7 @@ class <%=controller_class_name%>Test < ActionController::TestCase
94
94
  delete :destroy, :id => <%=model%>
95
95
  assert_response :redirect
96
96
  assert_redirected_to :action => :index
97
- assert_equal '<%model_class_name%> deleted', :flash[:notice]
97
+ assert_equal '<%=model_class_name%> deleted', flash[:notice]
98
98
  end
99
99
  end
100
100
 
@@ -0,0 +1 @@
1
+ -# = form.text_field :name
@@ -0,0 +1,5 @@
1
+ %h1 Editing <%=model%>
2
+
3
+ = form_for @<%=model%>, :url => { :action => :update } do |form|
4
+ = render :partial => 'form', :object => form
5
+ = form.submit 'Update <%=model%>'
@@ -0,0 +1,13 @@
1
+ %h1 <%=models%>
2
+
3
+ %table
4
+ %tr
5
+ %th <%=model%>
6
+ %th
7
+ - @<%=models%>.each do |<%=model%>|
8
+ %tr
9
+ %td= debug <%=model%>
10
+ %td
11
+ = link_to 'Show', <%=models%>_path
12
+ = link_to 'Edit', <%=model%>_path(<%=model%>)
13
+ = link_to 'Delete', <%=model%>_path(<%=model%>), :method => :delete, :confirm => 'Are you sure?'
@@ -0,0 +1,5 @@
1
+ %h1 New <%=model%>
2
+
3
+ = form_for @<%=model%>, :url => { :action => :create } do |form|
4
+ = render :partial => 'form', :object => form
5
+ = form.submit 'Create <%=model%>'
@@ -0,0 +1,3 @@
1
+ %h1 <%=model%>
2
+
3
+ = debug @<%=model%>
data/lib/test_battery.rb CHANGED
@@ -0,0 +1,44 @@
1
+ module TestBattery
2
+
3
+ module TestCase
4
+
5
+ # Example usage:
6
+ # assert_has_errors_on( @record, [:field_1, :field_2] )
7
+ # assert_has_errors_on( @record, {:field_1 => 'Message1', :field_2 => 'Message 2'} )
8
+ def assert_has_errors_on(record, fields)
9
+ fields = [fields].flatten unless fields.is_a?(Hash)
10
+ fields.each do |field, message|
11
+ assert record.errors.has_key?(field.to_sym), "#{record.class.name} should error on invalid #{field}"
12
+ if message && record.errors[field].is_a?(Array) && !message.is_a?(Array)
13
+ assert_not_nil record.errors[field].index(message)
14
+ elsif message
15
+ assert_equal message, record.errors[field]
16
+ end
17
+ end
18
+ end
19
+
20
+ # Example usage:
21
+ # assert_exception_raised do ... end
22
+ # assert_exception_raised ActiveRecord::RecordInvalid do ... end
23
+ # assert_exception_raised Plugin::Error, 'error_message' do ... end
24
+ def assert_exception_raised(exception_class = nil, error_message = nil, &block)
25
+ exception_raised = nil
26
+ yield
27
+ rescue => exception_raised
28
+ ensure
29
+ if exception_raised
30
+ if exception_class
31
+ assert_equal exception_class, exception_raised.class, exception_raised.to_s
32
+ else
33
+ assert true
34
+ end
35
+ assert_equal error_message, exception_raised.to_s if error_message
36
+ else
37
+ flunk 'Exception was not raised'
38
+ end
39
+ end
40
+
41
+ end
42
+ end
43
+
44
+ ActiveSupport::TestCase.send :include, TestBattery::TestCase
data/test_battery.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{test_battery}
8
- s.version = "0.0.0"
8
+ s.version = "0.0.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Oleg Khabarov"]
12
- s.date = %q{2011-02-02}
12
+ s.date = %q{2011-02-22}
13
13
  s.description = %q{Collection of generators and test helpers}
14
14
  s.email = %q{oleg@theworkinggroup.ca}
15
15
  s.extra_rdoc_files = [
@@ -24,9 +24,14 @@ Gem::Specification.new do |s|
24
24
  "README.md",
25
25
  "Rakefile",
26
26
  "VERSION",
27
- "lib/generators/crud_controller_generator.rb",
27
+ "lib/generators/battery_controller_generator.rb",
28
28
  "lib/generators/templates/crud_controller.rb",
29
29
  "lib/generators/templates/crud_controller_test.rb",
30
+ "lib/generators/templates/views/_form.html.haml",
31
+ "lib/generators/templates/views/edit.html.haml",
32
+ "lib/generators/templates/views/index.html.haml",
33
+ "lib/generators/templates/views/new.html.haml",
34
+ "lib/generators/templates/views/show.html.haml",
30
35
  "lib/test_battery.rb",
31
36
  "test/helper.rb",
32
37
  "test/test_test_battery.rb",
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 0
9
- version: 0.0.0
8
+ - 1
9
+ version: 0.0.1
10
10
  platform: ruby
11
11
  authors:
12
12
  - Oleg Khabarov
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2011-02-02 00:00:00 -05:00
17
+ date: 2011-02-22 00:00:00 -05:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -79,9 +79,14 @@ files:
79
79
  - README.md
80
80
  - Rakefile
81
81
  - VERSION
82
- - lib/generators/crud_controller_generator.rb
82
+ - lib/generators/battery_controller_generator.rb
83
83
  - lib/generators/templates/crud_controller.rb
84
84
  - lib/generators/templates/crud_controller_test.rb
85
+ - lib/generators/templates/views/_form.html.haml
86
+ - lib/generators/templates/views/edit.html.haml
87
+ - lib/generators/templates/views/index.html.haml
88
+ - lib/generators/templates/views/new.html.haml
89
+ - lib/generators/templates/views/show.html.haml
85
90
  - lib/test_battery.rb
86
91
  - test/helper.rb
87
92
  - test/test_test_battery.rb
@@ -100,7 +105,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
100
105
  requirements:
101
106
  - - ">="
102
107
  - !ruby/object:Gem::Version
103
- hash: 2931395641961920697
108
+ hash: -2656427538802755959
104
109
  segments:
105
110
  - 0
106
111
  version: "0"
@@ -1,30 +0,0 @@
1
- require 'rails/generators'
2
-
3
- class CrudControllerGenerator < Rails::Generators::Base
4
-
5
- source_root File.expand_path('../templates', __FILE__)
6
- argument :controller_name, :type => :string
7
-
8
- def generate_controller
9
- template 'crud_controller.rb', "app/controllers/#{models}_controller.rb"
10
- template 'crud_controller_test.rb', "test/functional/#{models}_controller_test.rb"
11
- end
12
-
13
- private
14
-
15
- def model
16
- @model ||= models.singularize
17
- end
18
-
19
- def models
20
- @models ||= controller_name.underscore
21
- end
22
-
23
- def model_class_name
24
- @model_class_name ||= model.camelize
25
- end
26
-
27
- def controller_class_name
28
- @controller_class_name ||= models.camelize
29
- end
30
- end