Objective3-objective_spec 0.0.4 → 0.1.2

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/.gitignore CHANGED
@@ -1 +1,2 @@
1
- *.gem
1
+ *.gem
2
+ *.tmproj
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.5
1
+ 0.1.2
@@ -0,0 +1,16 @@
1
+ class ObjectiveObserverGenerator < Rails::Generator::NamedBase
2
+ def manifest
3
+ record do |m|
4
+ # Check for class naming collisions.
5
+ m.class_collisions "#{class_name}Observer"
6
+
7
+ # Observer, and test directories.
8
+ m.directory File.join('app/models', class_path)
9
+ m.directory File.join('spec/observers', class_path)
10
+
11
+ # Observer class and unit test fixtures.
12
+ m.template 'observer.rb', File.join('app/models', class_path, "#{file_name}_observer.rb")
13
+ m.template 'observer_spec.rb', File.join('spec/observers', class_path, "#{file_name}_observer_spec.rb")
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,2 @@
1
+ class <%= class_name %>Observer < ActiveRecord::Observer
2
+ end
@@ -0,0 +1,11 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '<%= '/..' * class_nesting_depth %>/../spec_helper')
2
+
3
+ describe <%= class_name %>Observer do
4
+
5
+ it "should observe <%= class_name %>" do
6
+ <%= file_name %> = Factory(:<%= file_name %>)
7
+ observer = <%= class_name %>Observer.instance
8
+ observer.after_create(<%= file_name %>)
9
+ end
10
+
11
+ end
@@ -0,0 +1,22 @@
1
+ require 'rails_generator/generators/components/controller/controller_generator'
2
+
3
+ class ObjectiveServiceGenerator < ControllerGenerator
4
+
5
+ def manifest
6
+ record do |m|
7
+ # Check for class naming collisions.
8
+ m.class_collisions class_path, "#{class_name}Controller", "#{class_name}Helper"
9
+
10
+ # Controller, helper, views, and spec directories.
11
+ m.directory File.join('app/controllers', class_path)
12
+ m.directory File.join('spec/controllers', class_path)
13
+
14
+ # Controller spec, class, and helper.
15
+ m.template 'controller_spec.rb',
16
+ File.join('spec/controllers', class_path, "#{file_name}_controller_spec.rb")
17
+
18
+ m.template 'controller.rb',
19
+ File.join('app/controllers', class_path, "#{file_name}_controller.rb")
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,2 @@
1
+ class <%= controller_class_name %>Controller < ResourceController::Base
2
+ end
@@ -0,0 +1,175 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '<%= '/..' * controller_class_nesting_depth %>/../spec_helper')
2
+
3
+ describe <%= controller_class_name %>Controller do
4
+ describe "handling GET /<%= table_name %>" do
5
+
6
+ it "should be successful" do
7
+ <%= file_name %> = Factory(:<%= file_name %>)
8
+ <%= controller_class_name.singularize %>.stub!(:find).and_return([<%= file_name %>])
9
+ get :index, :format => 'xml'
10
+ response.should be_success
11
+ end
12
+
13
+ it "should find all <%= table_name %>" do
14
+ <%= file_name %> = Factory(:<%= file_name %>)
15
+ <%= controller_class_name.singularize %>.should_receive(:find).with(:all).and_return([<%= file_name %>])
16
+ get :index, :format => 'xml'
17
+ end
18
+
19
+ it "should assign the found <%= table_name %> for the view" do
20
+ <%= file_name %> = Factory(:<%= file_name %>)
21
+ <%= controller_class_name.singularize %>.stub!(:find).and_return([<%= file_name %>])
22
+ get :index, :format => 'xml'
23
+ assigns[:<%= table_name %>].should == [<%= file_name %>]
24
+ end
25
+ end
26
+
27
+ describe "handling GET /<%= table_name %>/1" do
28
+
29
+ it "should be successful" do
30
+ <%= file_name %> = Factory(:<%= file_name %>)
31
+ <%= controller_class_name.singularize %>.stub!(:find).and_return(<%= file_name %>)
32
+ get :show, :id => "1", :format => 'xml'
33
+ response.should be_success
34
+ end
35
+
36
+ it "should find the <%= file_name %> requested" do
37
+ <%= file_name %> = Factory(:<%= file_name %>)
38
+ <%= controller_class_name.singularize %>.should_receive(:find).with("1").and_return(<%= file_name %>)
39
+ get :show, :id => "1", :format => 'xml'
40
+ end
41
+
42
+ it "should assign the found <%= file_name %> for the view" do
43
+ <%= file_name %> = Factory(:<%= file_name %>)
44
+ <%= controller_class_name.singularize %>.stub!(:find).and_return(<%= file_name %>)
45
+ get :show, :id => "1", :format => 'xml'
46
+ assigns[:<%= file_name %>].should equal(<%= file_name %>)
47
+ end
48
+ end
49
+
50
+ describe "handling POST /<%= table_name %>" do
51
+
52
+ describe "with successful save" do
53
+
54
+ it "should create a new <%= file_name %>" do
55
+ <%= file_name %> = Factory(:<%= file_name %>)
56
+ <%= file_name %>.stub!(:to_param).and_return("1")
57
+ <%= controller_class_name.singularize %>.should_receive(:new).with({}).and_return(<%= file_name %>)
58
+ <%= file_name %>.should_receive(:save).and_return(true)
59
+ post :create, :<%= file_name %> => {}, :format => 'xml'
60
+ end
61
+
62
+ it "should be successful" do
63
+ <%= file_name %> = Factory(:<%= file_name %>)
64
+ <%= file_name %>.stub!(:to_param).and_return("1")
65
+ <%= controller_class_name.singularize %>.stub!(:new).and_return(<%= file_name %>)
66
+ <%= file_name %>.should_receive(:save).and_return(true)
67
+ post :create, :<%= file_name %> => {}, :format => 'xml'
68
+ response.should be_success
69
+ end
70
+
71
+ end
72
+
73
+ describe "with failed save" do
74
+
75
+ it "should be unprocessable" do
76
+ <%= file_name %> = Factory(:<%= file_name %>)
77
+ <%= file_name %>.stub!(:to_param).and_return("1")
78
+ <%= controller_class_name.singularize %>.stub!(:new).and_return(<%= file_name %>)
79
+ <%= file_name %>.should_receive(:save).and_return(false)
80
+ post :create, :<%= file_name %> => {}, :format => 'xml'
81
+ response.code.should == '422'
82
+ end
83
+
84
+ it "should return errors" do
85
+ <%= file_name %> = Factory(:<%= file_name %>)
86
+ <%= file_name %>.stub!(:to_param).and_return("1")
87
+ <%= controller_class_name.singularize %>.stub!(:new).and_return(<%= file_name %>)
88
+ <%= file_name %>.should_receive(:save).and_return(false)
89
+ post :create, :<%= file_name %> => {}, :format => 'xml'
90
+ Nokogiri::XML(response.should).at('errors').should_not be_nil
91
+ end
92
+
93
+ end
94
+ end
95
+
96
+ describe "handling PUT /<%= table_name %>/1" do
97
+
98
+ describe "with successful update" do
99
+
100
+ it "should find the <%= file_name %> requested" do
101
+ <%= file_name %> = Factory(:<%= file_name %>)
102
+ <%= file_name %>.stub!(:to_param).and_return("1")
103
+ <%= controller_class_name.singularize %>.should_receive(:find).with("1").and_return(<%= file_name %>)
104
+ <%= file_name %>.should_receive(:update_attributes).and_return(true)
105
+ put :update, :id => "1", :format => 'xml'
106
+ end
107
+
108
+ it "should update the found <%= file_name %>" do
109
+ <%= file_name %> = Factory(:<%= file_name %>)
110
+ <%= file_name %>.stub!(:to_param).and_return("1")
111
+ <%= controller_class_name.singularize %>.stub!(:find).and_return(<%= file_name %>)
112
+ <%= file_name %>.should_receive(:update_attributes).and_return(true)
113
+ put :update, :id => "1", :format => 'xml'
114
+ assigns(:<%= file_name %>).should equal(<%= file_name %>)
115
+ end
116
+
117
+ it "should assign the found <%= file_name %> for the view" do
118
+ <%= file_name %> = Factory(:<%= file_name %>)
119
+ <%= file_name %>.stub!(:to_param).and_return("1")
120
+ <%= controller_class_name.singularize %>.stub!(:find).and_return(<%= file_name %>)
121
+ <%= file_name %>.should_receive(:update_attributes).and_return(true)
122
+ put :update, :id => "1", :format => 'xml'
123
+ assigns(:<%= file_name %>).should equal(<%= file_name %>)
124
+ end
125
+
126
+ it "should be successful" do
127
+ <%= file_name %> = Factory(:<%= file_name %>)
128
+ <%= file_name %>.stub!(:to_param).and_return("1")
129
+ <%= controller_class_name.singularize %>.stub!(:find).and_return(<%= file_name %>)
130
+ <%= file_name %>.should_receive(:update_attributes).and_return(true)
131
+ put :update, :id => "1", :format => 'xml'
132
+ response.should be_success
133
+ end
134
+
135
+ end
136
+
137
+ describe "with failed update" do
138
+
139
+ it "should render errors" do
140
+ <%= file_name %> = Factory(:<%= file_name %>)
141
+ <%= file_name %>.stub!(:to_param).and_return("1")
142
+ <%= controller_class_name.singularize %>.stub!(:find).and_return(<%= file_name %>)
143
+ <%= file_name %>.should_receive(:update_attributes).and_return(false)
144
+ put :update, :id => "1", :format => 'xml'
145
+ Nokogiri::XML(response.body).at('errors').should_not be_nil
146
+ end
147
+
148
+ end
149
+ end
150
+
151
+ describe "handling DELETE /<%= table_name %>/1" do
152
+
153
+ it "should find the <%= file_name %> requested" do
154
+ <%= file_name %> = Factory(:<%= file_name %>)
155
+ <%= file_name %>.stub!(:destroy).and_return(true)
156
+ <%= controller_class_name.singularize %>.should_receive(:find).with("1").and_return(<%= file_name %>)
157
+ delete :destroy, :id => "1", :format => 'xml'
158
+ end
159
+
160
+ it "should call destroy on the found <%= file_name %>" do
161
+ <%= file_name %> = Factory(:<%= file_name %>)
162
+ <%= controller_class_name.singularize %>.stub!(:find).and_return(<%= file_name %>)
163
+ <%= file_name %>.should_receive(:destroy).and_return(true)
164
+ delete :destroy, :id => "1", :format => 'xml'
165
+ end
166
+
167
+ it "should succeed" do
168
+ <%= file_name %> = Factory(:<%= file_name %>)
169
+ <%= file_name %>.stub!(:destroy).and_return(true)
170
+ <%= controller_class_name.singularize %>.stub!(:find).and_return(<%= file_name %>)
171
+ delete :destroy, :id => "1", :format => 'xml'
172
+ response.should be_success
173
+ end
174
+ end
175
+ end
@@ -0,0 +1,94 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = %q{objective_spec}
5
+ s.version = "0.1.2"
6
+
7
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
+ s.authors = ["Blake Watters"]
9
+ s.date = %q{2009-08-08}
10
+ s.email = %q{blake@objective3.com}
11
+ s.extra_rdoc_files = [
12
+ "LICENSE",
13
+ "README.rdoc"
14
+ ]
15
+ s.files = [
16
+ ".gitignore",
17
+ "LICENSE",
18
+ "README.rdoc",
19
+ "Rakefile",
20
+ "TODO",
21
+ "VERSION",
22
+ "generators/objective_controller/USAGE",
23
+ "generators/objective_controller/objective_controller_generator.rb",
24
+ "generators/objective_controller/templates/controller_spec.rb",
25
+ "generators/objective_controller/templates/helper_spec.rb",
26
+ "generators/objective_controller/templates/view.html.haml",
27
+ "generators/objective_controller/templates/view_spec.rb",
28
+ "generators/objective_model/objective_model_generator.rb",
29
+ "generators/objective_model/templates/model_spec.rb",
30
+ "generators/objective_observer/objective_observer_generator.rb",
31
+ "generators/objective_observer/templates/observer.rb",
32
+ "generators/objective_observer/templates/observer_spec.rb",
33
+ "generators/objective_resource/.DS_Store",
34
+ "generators/objective_resource/objective_resource_generator.rb",
35
+ "generators/objective_resource/templates/.DS_Store",
36
+ "generators/objective_resource/templates/controller.rb",
37
+ "generators/objective_resource/templates/helper.rb",
38
+ "generators/objective_resource/templates/migration.rb",
39
+ "generators/objective_resource/templates/model.rb",
40
+ "generators/objective_resource/templates/rspec/functional_spec.rb",
41
+ "generators/objective_resource/templates/rspec/helper_spec.rb",
42
+ "generators/objective_resource/templates/rspec/routing_spec.rb",
43
+ "generators/objective_resource/templates/rspec/unit_spec.rb",
44
+ "generators/objective_resource/templates/rspec/views/edit_spec.rb",
45
+ "generators/objective_resource/templates/rspec/views/index_spec.rb",
46
+ "generators/objective_resource/templates/rspec/views/new_spec.rb",
47
+ "generators/objective_resource/templates/rspec/views/show_spec.rb",
48
+ "generators/objective_resource/templates/view__form.haml",
49
+ "generators/objective_resource/templates/view_edit.haml",
50
+ "generators/objective_resource/templates/view_index.haml",
51
+ "generators/objective_resource/templates/view_new.haml",
52
+ "generators/objective_resource/templates/view_show.haml",
53
+ "generators/objective_service/objective_service_generator.rb",
54
+ "generators/objective_service/templates/controller.rb",
55
+ "generators/objective_service/templates/controller_spec.rb",
56
+ "generators/objective_spec/objective_spec_generator.rb",
57
+ "generators/objective_spec/templates/spec_helpers/common.rb",
58
+ "generators/objective_spec/templates/spec_helpers/controller.rb",
59
+ "generators/objective_spec/templates/spec_helpers/model.rb",
60
+ "generators/objective_spec/templates/spec_helpers/shared_examples.rb",
61
+ "generators/objective_spec/templates/spec_helpers/view.rb",
62
+ "generators/rspec_default_values.rb",
63
+ "init.rb",
64
+ "lib/objective_spec.rb",
65
+ "lib/objective_spec/assets.rb",
66
+ "lib/objective_spec/mailer_example_group.rb",
67
+ "lib/objective_spec/matchers.rb",
68
+ "lib/objective_spec/matchers/use_layout_matcher.rb",
69
+ "lib/objective_spec/spec_helpers.rb",
70
+ "objective_spec.gemspec",
71
+ "spec/objective_spec_spec.rb",
72
+ "spec/spec_helper.rb"
73
+ ]
74
+ s.has_rdoc = true
75
+ s.homepage = %q{http://github.com/Objective3/objective_spec}
76
+ s.rdoc_options = ["--charset=UTF-8"]
77
+ s.require_paths = ["lib"]
78
+ s.rubygems_version = %q{1.3.1}
79
+ s.summary = %q{TODO}
80
+ s.test_files = [
81
+ "spec/objective_spec_spec.rb",
82
+ "spec/spec_helper.rb"
83
+ ]
84
+
85
+ if s.respond_to? :specification_version then
86
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
87
+ s.specification_version = 2
88
+
89
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
90
+ else
91
+ end
92
+ else
93
+ end
94
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: Objective3-objective_spec
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Blake Watters
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-07-16 00:00:00 -07:00
12
+ date: 2009-08-08 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -37,6 +37,9 @@ files:
37
37
  - generators/objective_controller/templates/view_spec.rb
38
38
  - generators/objective_model/objective_model_generator.rb
39
39
  - generators/objective_model/templates/model_spec.rb
40
+ - generators/objective_observer/objective_observer_generator.rb
41
+ - generators/objective_observer/templates/observer.rb
42
+ - generators/objective_observer/templates/observer_spec.rb
40
43
  - generators/objective_resource/.DS_Store
41
44
  - generators/objective_resource/objective_resource_generator.rb
42
45
  - generators/objective_resource/templates/.DS_Store
@@ -57,6 +60,9 @@ files:
57
60
  - generators/objective_resource/templates/view_index.haml
58
61
  - generators/objective_resource/templates/view_new.haml
59
62
  - generators/objective_resource/templates/view_show.haml
63
+ - generators/objective_service/objective_service_generator.rb
64
+ - generators/objective_service/templates/controller.rb
65
+ - generators/objective_service/templates/controller_spec.rb
60
66
  - generators/objective_spec/objective_spec_generator.rb
61
67
  - generators/objective_spec/templates/spec_helpers/common.rb
62
68
  - generators/objective_spec/templates/spec_helpers/controller.rb
@@ -71,6 +77,7 @@ files:
71
77
  - lib/objective_spec/matchers.rb
72
78
  - lib/objective_spec/matchers/use_layout_matcher.rb
73
79
  - lib/objective_spec/spec_helpers.rb
80
+ - objective_spec.gemspec
74
81
  - spec/objective_spec_spec.rb
75
82
  - spec/spec_helper.rb
76
83
  has_rdoc: true