rspec-rails 3.6.0.beta2 → 3.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/Changelog.md +14 -0
- data/lib/generators/rspec/install/templates/spec/rails_helper.rb +1 -1
- data/lib/generators/rspec/scaffold/scaffold_generator.rb +8 -1
- data/lib/generators/rspec/scaffold/templates/controller_spec.rb +12 -12
- data/lib/generators/rspec/scaffold/templates/edit_spec.rb +4 -0
- data/lib/generators/rspec/scaffold/templates/new_spec.rb +4 -0
- data/lib/rspec-rails.rb +1 -0
- data/lib/rspec/rails/example/feature_example_group.rb +1 -1
- data/lib/rspec/rails/example/rails_example_group.rb +0 -1
- data/lib/rspec/rails/matchers/be_a_new.rb +2 -2
- data/lib/rspec/rails/matchers/be_new_record.rb +2 -2
- data/lib/rspec/rails/version.rb +1 -1
- metadata +21 -21
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6a7eda925f6b28cb26e136d29619c218ad4fe9ab
|
4
|
+
data.tar.gz: 80d510b9fa22f01c66affa8cbb70924dcb10b5c4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 18f3225f0cd7906ff77d358fadbea8c939b7b79647e7e314d772f9f10438d0b71a9a2477a7f03e33577cfa1bd2834954edac128f9be10bdaa69c896998c0a439
|
7
|
+
data.tar.gz: 3a2045da2a6aeea26f06656044f5be1efd57bf173423b84b016ded7febbf6b79cae20c302293bf26ae744f6928ac0218f24b79aea33ccead272ae7a5be76cac4
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/Changelog.md
CHANGED
@@ -1,3 +1,15 @@
|
|
1
|
+
### 3.6.0 / 2017-05-04
|
2
|
+
[Full Changelog](http://github.com/rspec/rspec-rails/compare/v3.6.0.beta2...v3.6.0)
|
3
|
+
|
4
|
+
Enhancements:
|
5
|
+
|
6
|
+
* Add compatibility for Rails 5.1. (Sam Phippen, Yuichiro Kaneko, #1790)
|
7
|
+
|
8
|
+
Bug Fixes:
|
9
|
+
|
10
|
+
* Fix scaffold generator so that it does not generate broken controller specs
|
11
|
+
on Rails 3.x and 4.x. (Yuji Nakayama, #1710)
|
12
|
+
|
1
13
|
### 3.6.0.beta2 / 2016-12-12
|
2
14
|
[Full Changelog](http://github.com/rspec/rspec-rails/compare/v3.6.0.beta1...v3.6.0.beta2)
|
3
15
|
|
@@ -5,6 +17,8 @@ Enhancements:
|
|
5
17
|
|
6
18
|
* Improve failure output of ActiveJob matchers by listing queued jobs.
|
7
19
|
(Wojciech Wnętrzak, #1722)
|
20
|
+
* Load `spec_helper.rb` earlier in `rails_helper.rb` by default.
|
21
|
+
(Kevin Glowacz, #1795)
|
8
22
|
|
9
23
|
### 3.6.0.beta1 / 2016-10-09
|
10
24
|
[Full Changelog](http://github.com/rspec/rspec-rails/compare/v3.5.2...v3.6.0.beta1)
|
@@ -1,9 +1,9 @@
|
|
1
1
|
# This file is copied to spec/ when you run 'rails generate rspec:install'
|
2
|
+
require 'spec_helper'
|
2
3
|
ENV['RAILS_ENV'] ||= 'test'
|
3
4
|
require File.expand_path('../../config/environment', __FILE__)
|
4
5
|
# Prevent database truncation if the environment is production
|
5
6
|
abort("The Rails environment is running in production mode!") if Rails.env.production?
|
6
|
-
require 'spec_helper'
|
7
7
|
require 'rspec/rails'
|
8
8
|
# Add additional requires below this line. Rails is not loaded until this point!
|
9
9
|
|
@@ -19,6 +19,11 @@ module Rspec
|
|
19
19
|
class_option :helper_specs, :type => :boolean, :default => true, :desc => "Generate helper specs"
|
20
20
|
class_option :routing_specs, :type => :boolean, :default => true, :desc => "Generate routing specs"
|
21
21
|
|
22
|
+
def initialize(*args, &blk)
|
23
|
+
@generator_args = args.first
|
24
|
+
super(*args, &blk)
|
25
|
+
end
|
26
|
+
|
22
27
|
def generate_controller_spec
|
23
28
|
return unless options[:controller_specs]
|
24
29
|
|
@@ -59,6 +64,8 @@ module Rspec
|
|
59
64
|
|
60
65
|
protected
|
61
66
|
|
67
|
+
attr_reader :generator_args
|
68
|
+
|
62
69
|
def copy_view(view)
|
63
70
|
template "#{view}_spec.rb",
|
64
71
|
File.join("spec/views", controller_file_path, "#{view}.html.#{options[:template_engine]}_spec.rb")
|
@@ -76,7 +83,7 @@ module Rspec
|
|
76
83
|
|
77
84
|
def ns_parts
|
78
85
|
@ns_parts ||= begin
|
79
|
-
matches =
|
86
|
+
matches = generator_args[0].to_s.match(/\A(\w+)(?:\/|::)(\w+)/)
|
80
87
|
matches ? [matches[1], matches[2]] : []
|
81
88
|
end
|
82
89
|
end
|
@@ -46,7 +46,7 @@ RSpec.describe <%= controller_class_name %>Controller, <%= type_metatag(:control
|
|
46
46
|
describe "GET #index" do
|
47
47
|
it "returns a success response" do
|
48
48
|
<%= file_name %> = <%= class_name %>.create! valid_attributes
|
49
|
-
<% if
|
49
|
+
<% if Rails::VERSION::STRING < '5.0' -%>
|
50
50
|
get :index, {}, valid_session
|
51
51
|
<% else -%>
|
52
52
|
get :index, params: {}, session: valid_session
|
@@ -59,7 +59,7 @@ RSpec.describe <%= controller_class_name %>Controller, <%= type_metatag(:control
|
|
59
59
|
describe "GET #show" do
|
60
60
|
it "returns a success response" do
|
61
61
|
<%= file_name %> = <%= class_name %>.create! valid_attributes
|
62
|
-
<% if
|
62
|
+
<% if Rails::VERSION::STRING < '5.0' -%>
|
63
63
|
get :show, {:id => <%= file_name %>.to_param}, valid_session
|
64
64
|
<% else -%>
|
65
65
|
get :show, params: {id: <%= file_name %>.to_param}, session: valid_session
|
@@ -70,7 +70,7 @@ RSpec.describe <%= controller_class_name %>Controller, <%= type_metatag(:control
|
|
70
70
|
|
71
71
|
describe "GET #new" do
|
72
72
|
it "returns a success response" do
|
73
|
-
<% if
|
73
|
+
<% if Rails::VERSION::STRING < '5.0' -%>
|
74
74
|
get :new, {}, valid_session
|
75
75
|
<% else -%>
|
76
76
|
get :new, params: {}, session: valid_session
|
@@ -82,7 +82,7 @@ RSpec.describe <%= controller_class_name %>Controller, <%= type_metatag(:control
|
|
82
82
|
describe "GET #edit" do
|
83
83
|
it "returns a success response" do
|
84
84
|
<%= file_name %> = <%= class_name %>.create! valid_attributes
|
85
|
-
<% if
|
85
|
+
<% if Rails::VERSION::STRING < '5.0' -%>
|
86
86
|
get :edit, {:id => <%= file_name %>.to_param}, valid_session
|
87
87
|
<% else -%>
|
88
88
|
get :edit, params: {id: <%= file_name %>.to_param}, session: valid_session
|
@@ -95,7 +95,7 @@ RSpec.describe <%= controller_class_name %>Controller, <%= type_metatag(:control
|
|
95
95
|
context "with valid params" do
|
96
96
|
it "creates a new <%= class_name %>" do
|
97
97
|
expect {
|
98
|
-
<% if
|
98
|
+
<% if Rails::VERSION::STRING < '5.0' -%>
|
99
99
|
post :create, {:<%= ns_file_name %> => valid_attributes}, valid_session
|
100
100
|
<% else -%>
|
101
101
|
post :create, params: {<%= ns_file_name %>: valid_attributes}, session: valid_session
|
@@ -104,7 +104,7 @@ RSpec.describe <%= controller_class_name %>Controller, <%= type_metatag(:control
|
|
104
104
|
end
|
105
105
|
|
106
106
|
it "redirects to the created <%= ns_file_name %>" do
|
107
|
-
<% if
|
107
|
+
<% if Rails::VERSION::STRING < '5.0' -%>
|
108
108
|
post :create, {:<%= ns_file_name %> => valid_attributes}, valid_session
|
109
109
|
<% else -%>
|
110
110
|
post :create, params: {<%= ns_file_name %>: valid_attributes}, session: valid_session
|
@@ -115,7 +115,7 @@ RSpec.describe <%= controller_class_name %>Controller, <%= type_metatag(:control
|
|
115
115
|
|
116
116
|
context "with invalid params" do
|
117
117
|
it "returns a success response (i.e. to display the 'new' template)" do
|
118
|
-
<% if
|
118
|
+
<% if Rails::VERSION::STRING < '5.0' -%>
|
119
119
|
post :create, {:<%= ns_file_name %> => invalid_attributes}, valid_session
|
120
120
|
<% else -%>
|
121
121
|
post :create, params: {<%= ns_file_name %>: invalid_attributes}, session: valid_session
|
@@ -133,7 +133,7 @@ RSpec.describe <%= controller_class_name %>Controller, <%= type_metatag(:control
|
|
133
133
|
|
134
134
|
it "updates the requested <%= ns_file_name %>" do
|
135
135
|
<%= file_name %> = <%= class_name %>.create! valid_attributes
|
136
|
-
<% if
|
136
|
+
<% if Rails::VERSION::STRING < '5.0' -%>
|
137
137
|
put :update, {:id => <%= file_name %>.to_param, :<%= ns_file_name %> => new_attributes}, valid_session
|
138
138
|
<% else -%>
|
139
139
|
put :update, params: {id: <%= file_name %>.to_param, <%= ns_file_name %>: new_attributes}, session: valid_session
|
@@ -144,7 +144,7 @@ RSpec.describe <%= controller_class_name %>Controller, <%= type_metatag(:control
|
|
144
144
|
|
145
145
|
it "redirects to the <%= ns_file_name %>" do
|
146
146
|
<%= file_name %> = <%= class_name %>.create! valid_attributes
|
147
|
-
<% if
|
147
|
+
<% if Rails::VERSION::STRING < '5.0' -%>
|
148
148
|
put :update, {:id => <%= file_name %>.to_param, :<%= ns_file_name %> => valid_attributes}, valid_session
|
149
149
|
<% else -%>
|
150
150
|
put :update, params: {id: <%= file_name %>.to_param, <%= ns_file_name %>: valid_attributes}, session: valid_session
|
@@ -156,7 +156,7 @@ RSpec.describe <%= controller_class_name %>Controller, <%= type_metatag(:control
|
|
156
156
|
context "with invalid params" do
|
157
157
|
it "returns a success response (i.e. to display the 'edit' template)" do
|
158
158
|
<%= file_name %> = <%= class_name %>.create! valid_attributes
|
159
|
-
<% if
|
159
|
+
<% if Rails::VERSION::STRING < '5.0' -%>
|
160
160
|
put :update, {:id => <%= file_name %>.to_param, :<%= ns_file_name %> => invalid_attributes}, valid_session
|
161
161
|
<% else -%>
|
162
162
|
put :update, params: {id: <%= file_name %>.to_param, <%= ns_file_name %>: invalid_attributes}, session: valid_session
|
@@ -170,7 +170,7 @@ RSpec.describe <%= controller_class_name %>Controller, <%= type_metatag(:control
|
|
170
170
|
it "destroys the requested <%= ns_file_name %>" do
|
171
171
|
<%= file_name %> = <%= class_name %>.create! valid_attributes
|
172
172
|
expect {
|
173
|
-
<% if
|
173
|
+
<% if Rails::VERSION::STRING < '5.0' -%>
|
174
174
|
delete :destroy, {:id => <%= file_name %>.to_param}, valid_session
|
175
175
|
<% else -%>
|
176
176
|
delete :destroy, params: {id: <%= file_name %>.to_param}, session: valid_session
|
@@ -180,7 +180,7 @@ RSpec.describe <%= controller_class_name %>Controller, <%= type_metatag(:control
|
|
180
180
|
|
181
181
|
it "redirects to the <%= table_name %> list" do
|
182
182
|
<%= file_name %> = <%= class_name %>.create! valid_attributes
|
183
|
-
<% if
|
183
|
+
<% if Rails::VERSION::STRING < '5.0' -%>
|
184
184
|
delete :destroy, {:id => <%= file_name %>.to_param}, valid_session
|
185
185
|
<% else -%>
|
186
186
|
delete :destroy, params: {id: <%= file_name %>.to_param}, session: valid_session
|
@@ -16,7 +16,11 @@ RSpec.describe "<%= ns_table_name %>/edit", <%= type_metatag(:view) %> do
|
|
16
16
|
assert_select "form[action=?][method=?]", <%= ns_file_name %>_path(@<%= ns_file_name %>), "post" do
|
17
17
|
<% for attribute in output_attributes -%>
|
18
18
|
<%- name = attribute.respond_to?(:column_name) ? attribute.column_name : attribute.name %>
|
19
|
+
<% if Rails.version.to_f >= 5.1 -%>
|
20
|
+
assert_select "<%= attribute.input_type -%>[name=?]", "<%= ns_file_name %>[<%= name %>]"
|
21
|
+
<% else -%>
|
19
22
|
assert_select "<%= attribute.input_type -%>#<%= ns_file_name %>_<%= name %>[name=?]", "<%= ns_file_name %>[<%= name %>]"
|
23
|
+
<% end -%>
|
20
24
|
<% end -%>
|
21
25
|
end
|
22
26
|
end
|
@@ -15,7 +15,11 @@ RSpec.describe "<%= ns_table_name %>/new", <%= type_metatag(:view) %> do
|
|
15
15
|
assert_select "form[action=?][method=?]", <%= index_helper %>_path, "post" do
|
16
16
|
<% for attribute in output_attributes -%>
|
17
17
|
<%- name = attribute.respond_to?(:column_name) ? attribute.column_name : attribute.name %>
|
18
|
+
<% if Rails.version.to_f >= 5.1 -%>
|
19
|
+
assert_select "<%= attribute.input_type -%>[name=?]", "<%= ns_file_name %>[<%= name %>]"
|
20
|
+
<% else -%>
|
18
21
|
assert_select "<%= attribute.input_type -%>#<%= ns_file_name %>_<%= name %>[name=?]", "<%= ns_file_name %>[<%= name %>]"
|
22
|
+
<% end -%>
|
19
23
|
<% end -%>
|
20
24
|
end
|
21
25
|
end
|
data/lib/rspec-rails.rb
CHANGED
@@ -8,6 +8,7 @@ module RSpec
|
|
8
8
|
class Railtie < ::Rails::Railtie
|
9
9
|
# As of Rails 5.1.0 you can register directories to work with `rake notes`
|
10
10
|
if ::Rails::VERSION::STRING >= '5.1'
|
11
|
+
require 'rails/source_annotation_extractor'
|
11
12
|
SourceAnnotationExtractor::Annotation.register_directories("spec")
|
12
13
|
end
|
13
14
|
# Rails-3.0.1 requires config.app_generators instead of 3.0.0's config.generators
|
@@ -63,7 +63,7 @@ unless RSpec.respond_to?(:feature)
|
|
63
63
|
main_feature = nil unless c.expose_dsl_globally?
|
64
64
|
c.alias_example_group_to :feature, opts
|
65
65
|
c.alias_example_to :scenario
|
66
|
-
c.alias_example_to :xscenario
|
66
|
+
c.alias_example_to :xscenario, :skip => 'Temporarily skipped with xscenario'
|
67
67
|
end
|
68
68
|
|
69
69
|
# Due to load order issues and `config.expose_dsl_globally?` defaulting to
|
@@ -11,7 +11,6 @@ module RSpec
|
|
11
11
|
include RSpec::Rails::SetupAndTeardownAdapter
|
12
12
|
include RSpec::Rails::MinitestLifecycleAdapter if ::Rails::VERSION::STRING >= '4'
|
13
13
|
include RSpec::Rails::MinitestAssertionAdapter
|
14
|
-
include RSpec::Rails::Matchers
|
15
14
|
include RSpec::Rails::FixtureSupport
|
16
15
|
end
|
17
16
|
end
|
@@ -61,8 +61,8 @@ module RSpec
|
|
61
61
|
end
|
62
62
|
|
63
63
|
# @api public
|
64
|
-
# Passes if actual is an instance of `model_class` and returns `
|
65
|
-
# `
|
64
|
+
# Passes if actual is an instance of `model_class` and returns `true` for
|
65
|
+
# `new_record?`. Typically used to specify instance variables assigned to
|
66
66
|
# views by controller actions
|
67
67
|
#
|
68
68
|
# Use the `with` method to specify the specific attributes to match on the
|
@@ -4,7 +4,7 @@ module RSpec
|
|
4
4
|
# @private
|
5
5
|
class BeANewRecord < RSpec::Matchers::BuiltIn::BaseMatcher
|
6
6
|
def matches?(actual)
|
7
|
-
|
7
|
+
actual.new_record?
|
8
8
|
end
|
9
9
|
|
10
10
|
def failure_message
|
@@ -17,7 +17,7 @@ module RSpec
|
|
17
17
|
end
|
18
18
|
|
19
19
|
# @api public
|
20
|
-
# Passes if actual returns `
|
20
|
+
# Passes if actual returns `true` for `new_record?`.
|
21
21
|
#
|
22
22
|
# @example
|
23
23
|
# get :new
|
data/lib/rspec/rails/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspec-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.6.0
|
4
|
+
version: 3.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Chelimsky
|
@@ -44,7 +44,7 @@ cert_chain:
|
|
44
44
|
ZsVDj6a7lH3cNqtWXZxrb2wO38qV5AkYj8SQK7Hj3/Yui9myUX3crr+PdetazSqQ
|
45
45
|
F3MdtaDehhjC
|
46
46
|
-----END CERTIFICATE-----
|
47
|
-
date:
|
47
|
+
date: 2017-05-04 00:00:00.000000000 Z
|
48
48
|
dependencies:
|
49
49
|
- !ruby/object:Gem::Dependency
|
50
50
|
name: activesupport
|
@@ -92,58 +92,58 @@ dependencies:
|
|
92
92
|
name: rspec-core
|
93
93
|
requirement: !ruby/object:Gem::Requirement
|
94
94
|
requirements:
|
95
|
-
- -
|
95
|
+
- - "~>"
|
96
96
|
- !ruby/object:Gem::Version
|
97
|
-
version: 3.6.0
|
97
|
+
version: 3.6.0
|
98
98
|
type: :runtime
|
99
99
|
prerelease: false
|
100
100
|
version_requirements: !ruby/object:Gem::Requirement
|
101
101
|
requirements:
|
102
|
-
- -
|
102
|
+
- - "~>"
|
103
103
|
- !ruby/object:Gem::Version
|
104
|
-
version: 3.6.0
|
104
|
+
version: 3.6.0
|
105
105
|
- !ruby/object:Gem::Dependency
|
106
106
|
name: rspec-expectations
|
107
107
|
requirement: !ruby/object:Gem::Requirement
|
108
108
|
requirements:
|
109
|
-
- -
|
109
|
+
- - "~>"
|
110
110
|
- !ruby/object:Gem::Version
|
111
|
-
version: 3.6.0
|
111
|
+
version: 3.6.0
|
112
112
|
type: :runtime
|
113
113
|
prerelease: false
|
114
114
|
version_requirements: !ruby/object:Gem::Requirement
|
115
115
|
requirements:
|
116
|
-
- -
|
116
|
+
- - "~>"
|
117
117
|
- !ruby/object:Gem::Version
|
118
|
-
version: 3.6.0
|
118
|
+
version: 3.6.0
|
119
119
|
- !ruby/object:Gem::Dependency
|
120
120
|
name: rspec-mocks
|
121
121
|
requirement: !ruby/object:Gem::Requirement
|
122
122
|
requirements:
|
123
|
-
- -
|
123
|
+
- - "~>"
|
124
124
|
- !ruby/object:Gem::Version
|
125
|
-
version: 3.6.0
|
125
|
+
version: 3.6.0
|
126
126
|
type: :runtime
|
127
127
|
prerelease: false
|
128
128
|
version_requirements: !ruby/object:Gem::Requirement
|
129
129
|
requirements:
|
130
|
-
- -
|
130
|
+
- - "~>"
|
131
131
|
- !ruby/object:Gem::Version
|
132
|
-
version: 3.6.0
|
132
|
+
version: 3.6.0
|
133
133
|
- !ruby/object:Gem::Dependency
|
134
134
|
name: rspec-support
|
135
135
|
requirement: !ruby/object:Gem::Requirement
|
136
136
|
requirements:
|
137
|
-
- -
|
137
|
+
- - "~>"
|
138
138
|
- !ruby/object:Gem::Version
|
139
|
-
version: 3.6.0
|
139
|
+
version: 3.6.0
|
140
140
|
type: :runtime
|
141
141
|
prerelease: false
|
142
142
|
version_requirements: !ruby/object:Gem::Requirement
|
143
143
|
requirements:
|
144
|
-
- -
|
144
|
+
- - "~>"
|
145
145
|
- !ruby/object:Gem::Version
|
146
|
-
version: 3.6.0
|
146
|
+
version: 3.6.0
|
147
147
|
- !ruby/object:Gem::Dependency
|
148
148
|
name: cucumber
|
149
149
|
requirement: !ruby/object:Gem::Requirement
|
@@ -287,12 +287,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
287
287
|
version: '0'
|
288
288
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
289
289
|
requirements:
|
290
|
-
- - "
|
290
|
+
- - ">="
|
291
291
|
- !ruby/object:Gem::Version
|
292
|
-
version:
|
292
|
+
version: '0'
|
293
293
|
requirements: []
|
294
294
|
rubyforge_project:
|
295
|
-
rubygems_version: 2.5.
|
295
|
+
rubygems_version: 2.4.5.2
|
296
296
|
signing_key:
|
297
297
|
specification_version: 4
|
298
298
|
summary: RSpec for Rails
|
metadata.gz.sig
CHANGED
Binary file
|