rspec_rails_scaffold_templates 1.0.1 → 1.0.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.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/lib/templates/rspec/scaffold/controller_spec.rb +45 -8
- data/lib/templates/rspec/scaffold/edit_spec.rb +2 -2
- data/lib/templates/rspec/scaffold/index_spec.rb +21 -2
- data/lib/templates/rspec/scaffold/new_spec.rb +2 -2
- data/rspec_rails_scaffold_templates.gemspec +3 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 27d682e6616341bca9023ca6554f24827740eff4
|
4
|
+
data.tar.gz: 8e881d9500cc5195042a2fa28787b82417b60c90
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 878283db4d53d8ac0b68c868eea9cdd30dce52ecd2ae5c0913769ac43bd4d735caa58eac2375ba7060a06753c9d7fc4dbeb8fe2673d0ce3e1cd91af9fbf45c8a
|
7
|
+
data.tar.gz: cc41e0891511edf76ee8d065f0a83c8190b9d3f413875906dc5a7a76a1cdd1c10bef49d127d72bcfee0f9334aa317b620439fc5989f8d578e434f80313a2dcc3
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.0.
|
1
|
+
1.0.2
|
@@ -15,10 +15,12 @@ describe <%= controller_class_name %>Controller, :type => :controller do
|
|
15
15
|
# <%= class_name %>. As you add validations to <%= class_name %>, be sure to
|
16
16
|
# adjust the attributes here as well. The list could not be empty.
|
17
17
|
<% if Rails.application.config.generators.options[:rails][:fixture_replacement] == :factory_girl -%>
|
18
|
+
<% factory_girl = true -%>
|
18
19
|
<% attribute = attributes.detect{|a| attributes.detect{|a| a.name == 'name'} || attributes.detect{|a| a.name == 'title'} || attributes.first} -%>
|
19
20
|
<% attribute_name = attribute.respond_to?(:column_name) ? attribute.column_name : attribute.name -%>
|
20
21
|
let(:valid_attributes) {FactoryGirl.build(:<%=file_name%>).attributes.slice *%w[<%= attribute_name %>]}
|
21
22
|
<% else -%>
|
23
|
+
<% factory_girl = false -%>
|
22
24
|
let(:valid_attributes) {
|
23
25
|
skip("Add a hash of attributes valid for your model")
|
24
26
|
}
|
@@ -36,7 +38,11 @@ describe <%= controller_class_name %>Controller, :type => :controller do
|
|
36
38
|
<% unless options[:singleton] -%>
|
37
39
|
describe "GET index" do
|
38
40
|
it "assigns all <%= table_name.pluralize %> as @<%= table_name.pluralize %>" do
|
41
|
+
<% if factory_girl -%>
|
42
|
+
<%= file_name %> = create :<%= file_name %>
|
43
|
+
<% else -%>
|
39
44
|
<%= file_name %> = <%= class_name %>.create! valid_attributes
|
45
|
+
<% end -%>
|
40
46
|
get :index, {}, valid_session
|
41
47
|
expect(assigns(:<%= table_name %>)).to be_kind_of(ActiveRecord::Relation)
|
42
48
|
expect(assigns(:<%= table_name %>)).to eq([<%= file_name %>])
|
@@ -46,7 +52,11 @@ describe <%= controller_class_name %>Controller, :type => :controller do
|
|
46
52
|
<% end -%>
|
47
53
|
describe "GET show" do
|
48
54
|
it "assigns the requested <%= ns_file_name %> as @<%= ns_file_name %>" do
|
55
|
+
<% if factory_girl -%>
|
56
|
+
<%= file_name %> = create :<%= file_name %>
|
57
|
+
<% else -%>
|
49
58
|
<%= file_name %> = <%= class_name %>.create! valid_attributes
|
59
|
+
<% end -%>
|
50
60
|
get :show, {:id => <%= file_name %>.to_param}, valid_session
|
51
61
|
expect(assigns(:<%= ns_file_name %>)).to eq(<%= file_name %>)
|
52
62
|
end
|
@@ -61,7 +71,11 @@ describe <%= controller_class_name %>Controller, :type => :controller do
|
|
61
71
|
|
62
72
|
describe "GET edit" do
|
63
73
|
it "assigns the requested <%= ns_file_name %> as @<%= ns_file_name %>" do
|
74
|
+
<% if factory_girl -%>
|
75
|
+
<%= file_name %> = create :<%= file_name %>
|
76
|
+
<% else -%>
|
64
77
|
<%= file_name %> = <%= class_name %>.create! valid_attributes
|
78
|
+
<% end -%>
|
65
79
|
get :edit, {:id => <%= file_name %>.to_param}, valid_session
|
66
80
|
expect(assigns(:<%= ns_file_name %>)).to eq(<%= file_name %>)
|
67
81
|
end
|
@@ -105,30 +119,37 @@ describe <%= controller_class_name %>Controller, :type => :controller do
|
|
105
119
|
|
106
120
|
describe "PUT update" do
|
107
121
|
describe "with valid params" do
|
108
|
-
let(:new_attributes) {
|
109
|
-
<% if Rails.application.config.generators.options[:rails][:fixture_replacement] == :factory_girl -%>
|
110
|
-
FactoryGirl.build(:<%=file_name%>).attributes.slice *%w[<%= attribute_name %>]
|
111
|
-
<% else -%>
|
112
|
-
skip("Add a hash of attributes valid for your model")
|
113
|
-
<% end -%>
|
114
|
-
}
|
122
|
+
let(:new_attributes) { {<%= attribute_name %>: 'New value'} }
|
115
123
|
|
116
124
|
it "updates the requested <%= ns_file_name %>" do
|
125
|
+
<% if factory_girl -%>
|
126
|
+
<%= file_name %> = create :<%= file_name %>
|
127
|
+
<% else -%>
|
117
128
|
<%= file_name %> = <%= class_name %>.create! valid_attributes
|
129
|
+
<% end -%>
|
118
130
|
# expect_any_instance_of(<%= class_name %>).to receive(:update).with(new_attributes.inject({}){|_, (k, v)| _[k] = v.to_s; _})
|
119
131
|
put :update, {:id => <%= file_name %>.to_param, :<%= ns_file_name %> => new_attributes}, valid_session
|
120
132
|
<%= file_name %>.reload
|
121
|
-
skip("Add assertions for updated state")
|
133
|
+
# skip("Add assertions for updated state")
|
134
|
+
expect(<%= file_name %>.<%= attribute_name %>).to eq 'New value'
|
122
135
|
end
|
123
136
|
|
124
137
|
it "assigns the requested <%= ns_file_name %> as @<%= ns_file_name %>" do
|
138
|
+
<% if factory_girl -%>
|
139
|
+
<%= file_name %> = create :<%= file_name %>
|
140
|
+
<% else -%>
|
125
141
|
<%= file_name %> = <%= class_name %>.create! valid_attributes
|
142
|
+
<% end -%>
|
126
143
|
put :update, {:id => <%= file_name %>.to_param, :<%= ns_file_name %> => valid_attributes}, valid_session
|
127
144
|
expect(assigns(:<%= ns_file_name %>)).to eq(<%= file_name %>)
|
128
145
|
end
|
129
146
|
|
130
147
|
it "redirects to the <%= ns_file_name %>" do
|
148
|
+
<% if factory_girl -%>
|
149
|
+
<%= file_name %> = create :<%= file_name %>
|
150
|
+
<% else -%>
|
131
151
|
<%= file_name %> = <%= class_name %>.create! valid_attributes
|
152
|
+
<% end -%>
|
132
153
|
put :update, {:id => <%= file_name %>.to_param, :<%= ns_file_name %> => valid_attributes}, valid_session
|
133
154
|
expect(response).to redirect_to(<%= file_name %>)
|
134
155
|
end
|
@@ -136,14 +157,22 @@ describe <%= controller_class_name %>Controller, :type => :controller do
|
|
136
157
|
|
137
158
|
describe "with invalid params" do
|
138
159
|
it "assigns the <%= ns_file_name %> as @<%= ns_file_name %>" do
|
160
|
+
<% if factory_girl -%>
|
161
|
+
<%= file_name %> = create :<%= file_name %>
|
162
|
+
<% else -%>
|
139
163
|
<%= file_name %> = <%= class_name %>.create! valid_attributes
|
164
|
+
<% end -%>
|
140
165
|
# allow_any_instance_of(<%= class_name %>).to receive(:update).and_return(false)
|
141
166
|
put :update, {:id => <%= file_name %>.to_param, :<%= ns_file_name %> => invalid_attributes}, valid_session
|
142
167
|
expect(assigns(:<%= ns_file_name %>)).to be_a(<%= class_name %>)
|
143
168
|
end
|
144
169
|
|
145
170
|
it "re-renders the 'edit' template" do
|
171
|
+
<% if factory_girl -%>
|
172
|
+
<%= file_name %> = create :<%= file_name %>
|
173
|
+
<% else -%>
|
146
174
|
<%= file_name %> = <%= class_name %>.create! valid_attributes
|
175
|
+
<% end -%>
|
147
176
|
# allow_any_instance_of(<%= class_name %>).to receive(:update).and_return(false)
|
148
177
|
put :update, {:id => <%= file_name %>.to_param, :<%= ns_file_name %> => invalid_attributes}, valid_session
|
149
178
|
expect(response).to render_template("edit")
|
@@ -153,14 +182,22 @@ describe <%= controller_class_name %>Controller, :type => :controller do
|
|
153
182
|
|
154
183
|
describe "DELETE destroy" do
|
155
184
|
it "destroys the requested <%= ns_file_name %>" do
|
185
|
+
<% if factory_girl -%>
|
186
|
+
<%= file_name %> = create :<%= file_name %>
|
187
|
+
<% else -%>
|
156
188
|
<%= file_name %> = <%= class_name %>.create! valid_attributes
|
189
|
+
<% end -%>
|
157
190
|
expect {
|
158
191
|
delete :destroy, {:id => <%= file_name %>.to_param}, valid_session
|
159
192
|
}.to change(<%= class_name %>, :count).by(-1)
|
160
193
|
end
|
161
194
|
|
162
195
|
it "redirects to the <%= table_name %> list" do
|
196
|
+
<% if factory_girl -%>
|
197
|
+
<%= file_name %> = create :<%= file_name %>
|
198
|
+
<% else -%>
|
163
199
|
<%= file_name %> = <%= class_name %>.create! valid_attributes
|
200
|
+
<% end -%>
|
164
201
|
delete :destroy, {:id => <%= file_name %>.to_param}, valid_session
|
165
202
|
expect(response).to redirect_to(<%= index_helper %>_url)
|
166
203
|
end
|
@@ -24,8 +24,8 @@ describe "<%= ns_table_name %>/edit", :type => :view do
|
|
24
24
|
|
25
25
|
assert_select "form[action=?][method=?]", <%= ns_file_name %>_path(@<%= ns_file_name %>), "post" do
|
26
26
|
<% for attribute in output_attributes -%>
|
27
|
-
|
28
|
-
|
27
|
+
<% name = attribute.respond_to?(:column_name) ? attribute.column_name : attribute.name -%>
|
28
|
+
<% input_type = attribute.reference? ? 'select' : attribute.input_type -%>
|
29
29
|
assert_select '<%= input_type -%>#<%= ns_file_name %>_<%= name %>[name=?]', '<%= ns_file_name %>[<%= name %>]'
|
30
30
|
<% end -%>
|
31
31
|
end
|
@@ -36,12 +36,30 @@ describe "<%= ns_table_name %>/index", :type => :view do
|
|
36
36
|
<% end -%>
|
37
37
|
])
|
38
38
|
<% end -%>
|
39
|
+
end
|
40
|
+
|
41
|
+
it "renders a list of <%= table_name %>" do
|
39
42
|
<% if defined? Wice::WiceGrid -%>
|
40
|
-
assign
|
43
|
+
assign :<%= table_name %>, [@<%= ns_file_name %>]
|
44
|
+
<% end -%>
|
45
|
+
render
|
46
|
+
|
47
|
+
<% for attribute in output_attributes -%>
|
48
|
+
<% if Rails.application.config.generators.options[:rails][:fixture_replacement] == :factory_girl -%>
|
49
|
+
<% if attribute.reference? -%>
|
50
|
+
assert_select 'tr>td', text: @<%= ns_file_name %>.<%= attribute.name %>.name, count: <%= size %>
|
51
|
+
<% else -%>
|
52
|
+
assert_select 'tr>td', text: @<%= ns_file_name %>.<%= attribute.name %>.to_s, count: <%= size %>
|
53
|
+
<% end -%>
|
54
|
+
<% else -%>
|
55
|
+
assert_select "tr>td", :text => <%= value_for(attribute) %>.to_s, :count => <%= size %>
|
56
|
+
<% end -%>
|
41
57
|
<% end -%>
|
42
58
|
end
|
43
59
|
|
44
|
-
|
60
|
+
<% if defined? Wice::WiceGrid -%>
|
61
|
+
it "renders a list of <%= table_name %> in WiceGrid" do
|
62
|
+
assign :grid, Wice::WiceGrid.new(<%= class_name %>, controller)
|
45
63
|
render
|
46
64
|
|
47
65
|
<% for attribute in output_attributes -%>
|
@@ -56,4 +74,5 @@ describe "<%= ns_table_name %>/index", :type => :view do
|
|
56
74
|
<% end -%>
|
57
75
|
<% end -%>
|
58
76
|
end
|
77
|
+
<% end -%>
|
59
78
|
end
|
@@ -24,8 +24,8 @@ describe "<%= ns_table_name %>/new", :type => :view do
|
|
24
24
|
|
25
25
|
assert_select "form[action=?][method=?]", <%= index_helper %>_path, "post" do
|
26
26
|
<% for attribute in output_attributes -%>
|
27
|
-
|
28
|
-
|
27
|
+
<% name = attribute.respond_to?(:column_name) ? attribute.column_name : attribute.name -%>
|
28
|
+
<% input_type = attribute.reference? ? 'select' : attribute.input_type -%>
|
29
29
|
assert_select '<%= input_type -%>#<%= ns_file_name %>_<%= name %>[name=?]', '<%= ns_file_name %>[<%= name %>]'
|
30
30
|
<% end -%>
|
31
31
|
end
|
@@ -2,16 +2,16 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: rspec_rails_scaffold_templates 1.0.
|
5
|
+
# stub: rspec_rails_scaffold_templates 1.0.2 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "rspec_rails_scaffold_templates"
|
9
|
-
s.version = "1.0.
|
9
|
+
s.version = "1.0.2"
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
12
|
s.require_paths = ["lib"]
|
13
13
|
s.authors = ["Dmitri Koulikoff"]
|
14
|
-
s.date = "2014-09-
|
14
|
+
s.date = "2014-09-18"
|
15
15
|
s.description = "RSpec scaffold generator templates that use FactoryGirl and WiceGrid"
|
16
16
|
s.email = "dima@koulikoff.ru"
|
17
17
|
s.extra_rdoc_files = [
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspec_rails_scaffold_templates
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dmitri Koulikoff
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-09-
|
11
|
+
date: 2014-09-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|