rspec-rails 3.2.3 → 3.3.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/.yardopts +2 -0
- data/Changelog.md +18 -0
- data/README.md +1 -1
- data/lib/generators/rspec/install/templates/spec/rails_helper.rb +3 -1
- data/lib/generators/rspec/integration/integration_generator.rb +6 -1
- data/lib/generators/rspec/job/templates/job_spec.rb.erb +0 -0
- data/lib/generators/rspec/model/templates/model_spec.rb +0 -0
- data/lib/generators/rspec/request/request_generator.rb +10 -0
- data/lib/generators/rspec/scaffold/templates/routing_spec.rb +7 -1
- data/lib/rspec/rails/adapters.rb +1 -0
- data/lib/rspec/rails/configuration.rb +24 -17
- data/lib/rspec/rails/example.rb +1 -0
- data/lib/rspec/rails/example/controller_example_group.rb +15 -4
- data/lib/rspec/rails/example/job_example_group.rb +22 -0
- data/lib/rspec/rails/example/rails_example_group.rb +1 -0
- data/lib/rspec/rails/example/routing_example_group.rb +10 -3
- data/lib/rspec/rails/feature_check.rb +1 -0
- data/lib/rspec/rails/version.rb +1 -1
- data/lib/rspec/rails/view_rendering.rb +7 -1
- metadata +15 -13
- 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: 9d716116d6947d7386ac5ea4728f9995b7c3663e
|
4
|
+
data.tar.gz: 13613ed86a4c02bf0f5e7804ffbcd75dc59c5a07
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 06881e327741bb3268458ab492f432c4843b273be988c886f41a850caffe7b36e540d2d2b93a8c37de992269634fd21cb1fa7406143063c96fa17fd53920c998
|
7
|
+
data.tar.gz: 7bc993a1f2ae2d252f7018229d289ebf441656a1782f36d0587e35d30f10c7fa5e86648cab89dd85d0ad8d400644dc5e37586bdcc8c2c024759ed6d074e97819
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/.yardopts
CHANGED
data/Changelog.md
CHANGED
@@ -1,3 +1,21 @@
|
|
1
|
+
### 3.3.0 / 2015-06-12
|
2
|
+
[Full Changelog](http://github.com/rspec/rspec-rails/compare/v3.2.3...v3.3.0)
|
3
|
+
|
4
|
+
Enhancements:
|
5
|
+
|
6
|
+
* Add support for PATCH to route specs created via scaffold. (Igor Zubkov, #1336)
|
7
|
+
* Improve controller and routing spec calls to `routes` by using `yield`
|
8
|
+
instead of `call`. (Anton Davydov, #1308)
|
9
|
+
* Add support for `ActiveJob` specs as standard `RSpec::Rails::RailsExampleGoup`s
|
10
|
+
via both `:type => :job` and inferring type from spec directory `spec/jobs`.
|
11
|
+
(Gabe Martin-Dempesy, #1361)
|
12
|
+
* Include `RSpec::Rails::FixtureSupport` into example groups using metadata
|
13
|
+
`:use_fixtures => true`. (Aaron Kromer, #1372)
|
14
|
+
* Include `rspec:request` generator for generating request specs; this is an
|
15
|
+
alias of `rspec:integration` (Aaron Kromer, #1378)
|
16
|
+
* Update `rails_helper` generator with a default check to abort the spec run
|
17
|
+
when the Rails environment is production. (Aaron Kromer, #1383)
|
18
|
+
|
1
19
|
### 3.2.3 / 2015-06-06
|
2
20
|
[Full Changelog](http://github.com/rspec/rspec-rails/compare/v3.2.2...v3.2.3)
|
3
21
|
|
data/README.md
CHANGED
@@ -518,7 +518,7 @@ expect(page).to have_http_status(:success)
|
|
518
518
|
|
519
519
|
## `rake` tasks
|
520
520
|
|
521
|
-
Several rake tasks are provided as a
|
521
|
+
Several rake tasks are provided as a convenience for working with RSpec. To run
|
522
522
|
the entire spec suite use `rake spec`. To run a subset of specs use the
|
523
523
|
associated type task, for example `rake spec:models`.
|
524
524
|
|
@@ -1,7 +1,9 @@
|
|
1
1
|
# This file is copied to spec/ when you run 'rails generate rspec:install'
|
2
2
|
ENV['RAILS_ENV'] ||= 'test'
|
3
|
-
require 'spec_helper'
|
4
3
|
require File.expand_path('../../config/environment', __FILE__)
|
4
|
+
# Prevent database truncation if the environment is production
|
5
|
+
abort("The Rails environment is running in production mode!") if Rails.env.production?
|
6
|
+
require 'spec_helper'
|
5
7
|
require 'rspec/rails'
|
6
8
|
# Add additional requires below this line. Rails is not loaded until this point!
|
7
9
|
|
@@ -4,7 +4,12 @@ module Rspec
|
|
4
4
|
module Generators
|
5
5
|
# @private
|
6
6
|
class IntegrationGenerator < Base
|
7
|
-
|
7
|
+
# Add a deprecation for this class, before rspec-rails 4, to use the
|
8
|
+
# `RequestGenerator` instead
|
9
|
+
class_option :request_specs,
|
10
|
+
:type => :boolean,
|
11
|
+
:default => true,
|
12
|
+
:desc => "Generate request specs"
|
8
13
|
|
9
14
|
def generate_request_spec
|
10
15
|
return unless options[:request_specs]
|
File without changes
|
File without changes
|
@@ -26,10 +26,16 @@ RSpec.describe <%= controller_class_name %>Controller, <%= type_metatag(:routing
|
|
26
26
|
expect(:post => "/<%= ns_table_name %>").to route_to("<%= ns_table_name %>#create")
|
27
27
|
end
|
28
28
|
|
29
|
-
it "routes to #update" do
|
29
|
+
it "routes to #update via PUT" do
|
30
30
|
expect(:put => "/<%= ns_table_name %>/1").to route_to("<%= ns_table_name %>#update", :id => "1")
|
31
31
|
end
|
32
32
|
|
33
|
+
<% if Rails::VERSION::STRING > '4' -%>
|
34
|
+
it "routes to #update via PATCH" do
|
35
|
+
expect(:patch => "/<%= ns_table_name %>/1").to route_to("<%= ns_table_name %>#update", :id => "1")
|
36
|
+
end
|
37
|
+
|
38
|
+
<% end -%>
|
33
39
|
it "routes to #destroy" do
|
34
40
|
expect(:delete => "/<%= ns_table_name %>/1").to route_to("<%= ns_table_name %>#destroy", :id => "1")
|
35
41
|
end
|
data/lib/rspec/rails/adapters.rb
CHANGED
@@ -5,6 +5,7 @@ require 'active_support/core_ext/string'
|
|
5
5
|
|
6
6
|
module RSpec
|
7
7
|
module Rails
|
8
|
+
# @private
|
8
9
|
def self.disable_testunit_autorun
|
9
10
|
# `Test::Unit::AutoRunner.need_auto_run=` was introduced to the test-unit
|
10
11
|
# gem in version 2.4.9. Previous to this version `Test::Unit.run=` was
|
@@ -27,6 +27,7 @@ module RSpec
|
|
27
27
|
DIRECTORY_MAPPINGS = {
|
28
28
|
:controller => %w[spec controllers],
|
29
29
|
:helper => %w[spec helpers],
|
30
|
+
:job => %w[spec jobs],
|
30
31
|
:mailer => %w[spec mailers],
|
31
32
|
:model => %w[spec models],
|
32
33
|
:request => %w[spec (requests|integration|api)],
|
@@ -52,6 +53,10 @@ module RSpec
|
|
52
53
|
config.include RSpec::Rails::MailerExampleGroup, :type => :mailer
|
53
54
|
end
|
54
55
|
|
56
|
+
if defined?(ActiveJob)
|
57
|
+
config.include RSpec::Rails::JobExampleGroup, :type => :job
|
58
|
+
end
|
59
|
+
|
55
60
|
# controller settings
|
56
61
|
config.add_setting :infer_base_class_for_anonymous_controllers, :default => true
|
57
62
|
|
@@ -60,10 +65,10 @@ module RSpec
|
|
60
65
|
config.add_setting :use_instantiated_fixtures
|
61
66
|
config.add_setting :global_fixtures
|
62
67
|
config.add_setting :fixture_path
|
68
|
+
config.include RSpec::Rails::FixtureSupport, :use_fixtures
|
63
69
|
|
64
|
-
#
|
65
|
-
#
|
66
|
-
# globally.
|
70
|
+
# We'll need to create a deprecated module in order to properly report to
|
71
|
+
# gems / projects which are relying on this being loaded globally.
|
67
72
|
#
|
68
73
|
# See rspec/rspec-rails#1355 for history
|
69
74
|
#
|
@@ -79,23 +84,25 @@ module RSpec
|
|
79
84
|
# but requires this workaround:
|
80
85
|
config.add_setting :rendering_views, :default => false
|
81
86
|
|
82
|
-
|
83
|
-
|
84
|
-
|
87
|
+
config.instance_exec do
|
88
|
+
def render_views=(val)
|
89
|
+
self.rendering_views = val
|
90
|
+
end
|
85
91
|
|
86
|
-
|
87
|
-
|
88
|
-
|
92
|
+
def render_views
|
93
|
+
self.rendering_views = true
|
94
|
+
end
|
89
95
|
|
90
|
-
|
91
|
-
|
92
|
-
|
96
|
+
def render_views?
|
97
|
+
rendering_views
|
98
|
+
end
|
93
99
|
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
100
|
+
def infer_spec_type_from_file_location!
|
101
|
+
DIRECTORY_MAPPINGS.each do |type, dir_parts|
|
102
|
+
escaped_path = Regexp.compile(dir_parts.join('[\\\/]') + '[\\\/]')
|
103
|
+
define_derived_metadata(:file_path => escaped_path) do |metadata|
|
104
|
+
metadata[:type] ||= type
|
105
|
+
end
|
99
106
|
end
|
100
107
|
end
|
101
108
|
end
|
data/lib/rspec/rails/example.rb
CHANGED
@@ -6,4 +6,5 @@ require 'rspec/rails/example/view_example_group'
|
|
6
6
|
require 'rspec/rails/example/mailer_example_group'
|
7
7
|
require 'rspec/rails/example/routing_example_group'
|
8
8
|
require 'rspec/rails/example/model_example_group'
|
9
|
+
require 'rspec/rails/example/job_example_group'
|
9
10
|
require 'rspec/rails/example/feature_example_group'
|
@@ -1,5 +1,10 @@
|
|
1
1
|
module RSpec
|
2
2
|
module Rails
|
3
|
+
# @private
|
4
|
+
ControllerAssertionDelegator = RSpec::Rails::AssertionDelegator.new(
|
5
|
+
ActionDispatch::Assertions::RoutingAssertions
|
6
|
+
)
|
7
|
+
|
3
8
|
# Container module for controller spec functionality.
|
4
9
|
module ControllerExampleGroup
|
5
10
|
extend ActiveSupport::Concern
|
@@ -9,7 +14,7 @@ module RSpec
|
|
9
14
|
include RSpec::Rails::Matchers::RedirectTo
|
10
15
|
include RSpec::Rails::Matchers::RenderTemplate
|
11
16
|
include RSpec::Rails::Matchers::RoutingMatchers
|
12
|
-
include
|
17
|
+
include ControllerAssertionDelegator
|
13
18
|
|
14
19
|
# Class-level DSL for controller specs.
|
15
20
|
module ClassMethods
|
@@ -110,14 +115,20 @@ module RSpec
|
|
110
115
|
#
|
111
116
|
# # ...
|
112
117
|
# end
|
113
|
-
def routes
|
118
|
+
def routes
|
114
119
|
before do
|
115
|
-
self.routes =
|
120
|
+
self.routes = yield
|
116
121
|
end
|
117
122
|
end
|
118
123
|
end
|
119
124
|
|
120
|
-
|
125
|
+
# @!attribute [r]
|
126
|
+
# Returns the controller object instance under test.
|
127
|
+
attr_reader :controller
|
128
|
+
|
129
|
+
# @!attribute [r]
|
130
|
+
# Returns the Rails routes used for the spec.
|
131
|
+
attr_reader :routes
|
121
132
|
|
122
133
|
# @private
|
123
134
|
#
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module RSpec
|
2
|
+
module Rails
|
3
|
+
# Container module for job spec functionality. It is only available if
|
4
|
+
# ActiveJob has been loaded before it.
|
5
|
+
module JobExampleGroup
|
6
|
+
# This blank module is only necessary for YARD processing. It doesn't
|
7
|
+
# handle the conditional `defined?` check below very well.
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
if defined?(ActiveJob)
|
13
|
+
module RSpec
|
14
|
+
module Rails
|
15
|
+
# Container module for job spec functionality.
|
16
|
+
module JobExampleGroup
|
17
|
+
extend ActiveSupport::Concern
|
18
|
+
include RSpec::Rails::RailsExampleGroup
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -2,13 +2,18 @@ require "action_dispatch/testing/assertions/routing"
|
|
2
2
|
|
3
3
|
module RSpec
|
4
4
|
module Rails
|
5
|
+
# @private
|
6
|
+
RoutingAssertionDelegator = RSpec::Rails::AssertionDelegator.new(
|
7
|
+
ActionDispatch::Assertions::RoutingAssertions
|
8
|
+
)
|
9
|
+
|
5
10
|
# Container module for routing spec functionality.
|
6
11
|
module RoutingExampleGroup
|
7
12
|
extend ActiveSupport::Concern
|
8
13
|
include RSpec::Rails::RailsExampleGroup
|
9
14
|
include RSpec::Rails::Matchers::RoutingMatchers
|
10
15
|
include RSpec::Rails::Matchers::RoutingMatchers::RouteHelpers
|
11
|
-
include RSpec::Rails::
|
16
|
+
include RSpec::Rails::RoutingAssertionDelegator
|
12
17
|
|
13
18
|
# Class-level DSL for route specs.
|
14
19
|
module ClassMethods
|
@@ -24,9 +29,9 @@ module RSpec
|
|
24
29
|
# route_to(:controller => "my_engine/posts", :action => "index")
|
25
30
|
# end
|
26
31
|
# end
|
27
|
-
def routes
|
32
|
+
def routes
|
28
33
|
before do
|
29
|
-
self.routes =
|
34
|
+
self.routes = yield
|
30
35
|
end
|
31
36
|
end
|
32
37
|
end
|
@@ -37,6 +42,8 @@ module RSpec
|
|
37
42
|
end
|
38
43
|
end
|
39
44
|
|
45
|
+
# @!attribute [r]
|
46
|
+
# @private
|
40
47
|
attr_reader :routes
|
41
48
|
|
42
49
|
# @private
|
data/lib/rspec/rails/version.rb
CHANGED
@@ -6,7 +6,13 @@ module RSpec
|
|
6
6
|
module ViewRendering
|
7
7
|
extend ActiveSupport::Concern
|
8
8
|
|
9
|
-
|
9
|
+
# @!attribute [r]
|
10
|
+
# Returns the controller object instance under test.
|
11
|
+
attr_reader :controller
|
12
|
+
|
13
|
+
# @private
|
14
|
+
attr_writer :controller
|
15
|
+
private :controller=
|
10
16
|
|
11
17
|
# DSL methods
|
12
18
|
module ClassMethods
|
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.
|
4
|
+
version: 3.3.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: 2015-06-
|
47
|
+
date: 2015-06-12 00:00:00.000000000 Z
|
48
48
|
dependencies:
|
49
49
|
- !ruby/object:Gem::Dependency
|
50
50
|
name: activesupport
|
@@ -112,56 +112,56 @@ dependencies:
|
|
112
112
|
requirements:
|
113
113
|
- - "~>"
|
114
114
|
- !ruby/object:Gem::Version
|
115
|
-
version: 3.
|
115
|
+
version: 3.3.0
|
116
116
|
type: :runtime
|
117
117
|
prerelease: false
|
118
118
|
version_requirements: !ruby/object:Gem::Requirement
|
119
119
|
requirements:
|
120
120
|
- - "~>"
|
121
121
|
- !ruby/object:Gem::Version
|
122
|
-
version: 3.
|
122
|
+
version: 3.3.0
|
123
123
|
- !ruby/object:Gem::Dependency
|
124
124
|
name: rspec-expectations
|
125
125
|
requirement: !ruby/object:Gem::Requirement
|
126
126
|
requirements:
|
127
127
|
- - "~>"
|
128
128
|
- !ruby/object:Gem::Version
|
129
|
-
version: 3.
|
129
|
+
version: 3.3.0
|
130
130
|
type: :runtime
|
131
131
|
prerelease: false
|
132
132
|
version_requirements: !ruby/object:Gem::Requirement
|
133
133
|
requirements:
|
134
134
|
- - "~>"
|
135
135
|
- !ruby/object:Gem::Version
|
136
|
-
version: 3.
|
136
|
+
version: 3.3.0
|
137
137
|
- !ruby/object:Gem::Dependency
|
138
138
|
name: rspec-mocks
|
139
139
|
requirement: !ruby/object:Gem::Requirement
|
140
140
|
requirements:
|
141
141
|
- - "~>"
|
142
142
|
- !ruby/object:Gem::Version
|
143
|
-
version: 3.
|
143
|
+
version: 3.3.0
|
144
144
|
type: :runtime
|
145
145
|
prerelease: false
|
146
146
|
version_requirements: !ruby/object:Gem::Requirement
|
147
147
|
requirements:
|
148
148
|
- - "~>"
|
149
149
|
- !ruby/object:Gem::Version
|
150
|
-
version: 3.
|
150
|
+
version: 3.3.0
|
151
151
|
- !ruby/object:Gem::Dependency
|
152
152
|
name: rspec-support
|
153
153
|
requirement: !ruby/object:Gem::Requirement
|
154
154
|
requirements:
|
155
155
|
- - "~>"
|
156
156
|
- !ruby/object:Gem::Version
|
157
|
-
version: 3.
|
157
|
+
version: 3.3.0
|
158
158
|
type: :runtime
|
159
159
|
prerelease: false
|
160
160
|
version_requirements: !ruby/object:Gem::Requirement
|
161
161
|
requirements:
|
162
162
|
- - "~>"
|
163
163
|
- !ruby/object:Gem::Version
|
164
|
-
version: 3.
|
164
|
+
version: 3.3.0
|
165
165
|
- !ruby/object:Gem::Dependency
|
166
166
|
name: rake
|
167
167
|
requirement: !ruby/object:Gem::Requirement
|
@@ -218,7 +218,7 @@ dependencies:
|
|
218
218
|
- - '='
|
219
219
|
- !ruby/object:Gem::Version
|
220
220
|
version: 1.1.2
|
221
|
-
description:
|
221
|
+
description: rspec-rails is a testing framework for Rails 3.x and 4.x.
|
222
222
|
email: rspec@googlegroups.com
|
223
223
|
executables: []
|
224
224
|
extensions: []
|
@@ -253,6 +253,7 @@ files:
|
|
253
253
|
- lib/generators/rspec/model/templates/model_spec.rb
|
254
254
|
- lib/generators/rspec/observer/observer_generator.rb
|
255
255
|
- lib/generators/rspec/observer/templates/observer_spec.rb
|
256
|
+
- lib/generators/rspec/request/request_generator.rb
|
256
257
|
- lib/generators/rspec/scaffold/scaffold_generator.rb
|
257
258
|
- lib/generators/rspec/scaffold/templates/controller_spec.rb
|
258
259
|
- lib/generators/rspec/scaffold/templates/edit_spec.rb
|
@@ -271,6 +272,7 @@ files:
|
|
271
272
|
- lib/rspec/rails/example/controller_example_group.rb
|
272
273
|
- lib/rspec/rails/example/feature_example_group.rb
|
273
274
|
- lib/rspec/rails/example/helper_example_group.rb
|
275
|
+
- lib/rspec/rails/example/job_example_group.rb
|
274
276
|
- lib/rspec/rails/example/mailer_example_group.rb
|
275
277
|
- lib/rspec/rails/example/model_example_group.rb
|
276
278
|
- lib/rspec/rails/example/rails_example_group.rb
|
@@ -315,10 +317,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
315
317
|
- !ruby/object:Gem::Version
|
316
318
|
version: '0'
|
317
319
|
requirements: []
|
318
|
-
rubyforge_project:
|
320
|
+
rubyforge_project:
|
319
321
|
rubygems_version: 2.2.2
|
320
322
|
signing_key:
|
321
323
|
specification_version: 4
|
322
|
-
summary:
|
324
|
+
summary: RSpec for Rails
|
323
325
|
test_files: []
|
324
326
|
has_rdoc:
|
metadata.gz.sig
CHANGED
Binary file
|