rspec-rails 4.0.2 → 4.1.0
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
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/Changelog.md +17 -0
- data/README.md +5 -2
- data/lib/generators/rspec/controller/controller_generator.rb +1 -1
- data/lib/generators/rspec/controller/templates/request_spec.rb +6 -1
- data/lib/generators/rspec/scaffold/templates/request_spec.rb +4 -0
- data/lib/rspec/rails/fixture_support.rb +7 -7
- data/lib/rspec/rails/matchers/active_job.rb +23 -1
- data/lib/rspec/rails/version.rb +1 -1
- metadata +6 -6
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4cfb82b177fd4c881bb331fe78d7c0c7e974d8e886050b67db824aa4e4a93ab2
|
4
|
+
data.tar.gz: 1c55d80deaeab9a57af17b7b4c219490be2141c55d04fef428daa4a09fc3fd4f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 346b1d7428910e9b79881fa6a5ad616521fe6615c058ba559aa11136929e9f3ec7601d76e8a200123c74708f147d49c665b0fc649cf76a10f8b4ae55e734c6c0
|
7
|
+
data.tar.gz: 10478159e4622f40869d46fb36ab8a4472d469b2547bb54238164244511326393a3b66f7568787d0419aeac70fcb24942352f1f3fcdaede273070aa609b12cfc
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/Changelog.md
CHANGED
@@ -1,3 +1,20 @@
|
|
1
|
+
### 4.1.0 / 2021-03-06
|
2
|
+
[Full Changelog](https://github.com/rspec/rspec-rails/compare/v4.0.2...v4.1.0)
|
3
|
+
|
4
|
+
Enhancements:
|
5
|
+
|
6
|
+
* Issue a warning when using job matchers with `#at` mis-match on `usec` precision.
|
7
|
+
(Jon Rowe, #2350)
|
8
|
+
* Generated request specs now have a bare `_spec` suffix instead of `request_spec`.
|
9
|
+
(Eloy Espinaco, Luka Lüdicke, #2355, #2356, #2378)
|
10
|
+
* Generated scaffold now includes engine route helpers when inside a mountable engine.
|
11
|
+
(Andrew W. Lee, #2372)
|
12
|
+
* Improve request spec "controller" scafold when no action is specified.
|
13
|
+
(Thomas Hareau, #2399)
|
14
|
+
* Introduce testing snippets concept (Phil Pirozhkov, Benoit Tigeot, #2423)
|
15
|
+
* Prevent collisions with `let(:name)` for Rails 6.1 and `let(:method_name)` on older
|
16
|
+
Rails. (Benoit Tigeot, #2461)
|
17
|
+
|
1
18
|
### 4.0.2 / 2020-12-26
|
2
19
|
[Full Changelog](https://github.com/rspec/rspec-rails/compare/v4.0.1...v4.0.2)
|
3
20
|
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# rspec-rails [![
|
1
|
+
# rspec-rails [![Code Climate][]][code-climate] [![Gem Version][]][gem-version]
|
2
2
|
|
3
3
|
`rspec-rails` brings the [RSpec][] testing framework to [Ruby on Rails][]
|
4
4
|
as a drop-in alternative to its default testing framework, Minitest.
|
@@ -24,13 +24,16 @@ Use **[`rspec-rails` 1.x][]** for Rails 2.x.
|
|
24
24
|
|
25
25
|
## Installation
|
26
26
|
|
27
|
+
**IMPORTANT** This README / branch refers to the `4.1.x` series of releases.
|
28
|
+
See the [`main` branch on Github](https://github.com/rspec/rspec-rails/tree/main) for more up to date releases.
|
29
|
+
|
27
30
|
1. Add `rspec-rails` to **both** the `:development` and `:test` groups
|
28
31
|
of your app’s `Gemfile`:
|
29
32
|
|
30
33
|
```ruby
|
31
34
|
# Run against the latest stable release
|
32
35
|
group :development, :test do
|
33
|
-
gem 'rspec-rails', '~> 4.0
|
36
|
+
gem 'rspec-rails', '~> 4.1.0'
|
34
37
|
end
|
35
38
|
|
36
39
|
# Or, run against the main branch
|
@@ -16,7 +16,7 @@ module Rspec
|
|
16
16
|
return unless options[:request_specs]
|
17
17
|
|
18
18
|
template 'request_spec.rb',
|
19
|
-
File.join('spec/requests', class_path, "#{file_name}
|
19
|
+
File.join('spec/requests', class_path, "#{file_name}_spec.rb")
|
20
20
|
end
|
21
21
|
|
22
22
|
def generate_controller_spec
|
@@ -1,7 +1,12 @@
|
|
1
1
|
require 'rails_helper'
|
2
2
|
|
3
3
|
RSpec.describe "<%= class_name.pluralize %>", <%= type_metatag(:request) %> do
|
4
|
-
<% namespaced_path = regular_class_path.join('/')
|
4
|
+
<% namespaced_path = regular_class_path.join('/') -%>
|
5
|
+
<% if actions.empty? -%>
|
6
|
+
describe "GET /index" do
|
7
|
+
pending "add some examples (or delete) #{__FILE__}"
|
8
|
+
end
|
9
|
+
<% end -%>
|
5
10
|
<% for action in actions -%>
|
6
11
|
describe "GET /<%= action %>" do
|
7
12
|
it "returns http success" do
|
@@ -14,6 +14,10 @@
|
|
14
14
|
|
15
15
|
<% module_namespacing do -%>
|
16
16
|
RSpec.describe "/<%= name.underscore.pluralize %>", <%= type_metatag(:request) %> do
|
17
|
+
<% if mountable_engine? -%>
|
18
|
+
include Engine.routes.url_helpers
|
19
|
+
<% end -%>
|
20
|
+
|
17
21
|
# <%= class_name %>. As you add validations to <%= class_name %>, be sure to
|
18
22
|
# adjust the attributes here as well.
|
19
23
|
let(:valid_attributes) {
|
@@ -9,6 +9,13 @@ module RSpec
|
|
9
9
|
include RSpec::Rails::MinitestAssertionAdapter
|
10
10
|
include ActiveRecord::TestFixtures
|
11
11
|
|
12
|
+
# @private prevent ActiveSupport::TestFixtures to start a DB transaction.
|
13
|
+
# Monkey patched to avoid collisions with 'let(:name)' in Rails 6.1 and after
|
14
|
+
# and let(:method_name) before Rails 6.1.
|
15
|
+
def run_in_transaction?
|
16
|
+
use_transactional_tests && !self.class.uses_transaction?(self)
|
17
|
+
end
|
18
|
+
|
12
19
|
included do
|
13
20
|
if RSpec.configuration.use_active_record?
|
14
21
|
include Fixtures
|
@@ -50,13 +57,6 @@ module RSpec
|
|
50
57
|
end
|
51
58
|
end
|
52
59
|
end
|
53
|
-
|
54
|
-
if ::Rails.version.to_f >= 6.1
|
55
|
-
# @private return the example name for TestFixtures
|
56
|
-
def name
|
57
|
-
@example
|
58
|
-
end
|
59
|
-
end
|
60
60
|
end
|
61
61
|
end
|
62
62
|
end
|
@@ -163,7 +163,29 @@ module RSpec
|
|
163
163
|
return job[:at].nil? if @at == :no_wait
|
164
164
|
return false unless job[:at]
|
165
165
|
|
166
|
-
|
166
|
+
scheduled_at = Time.at(job[:at])
|
167
|
+
values_match?(@at, scheduled_at) || check_for_inprecise_value(scheduled_at)
|
168
|
+
end
|
169
|
+
|
170
|
+
def check_for_inprecise_value(scheduled_at)
|
171
|
+
return unless Time === @at && values_match?(@at.change(usec: 0), scheduled_at)
|
172
|
+
|
173
|
+
RSpec.warn_with((<<-WARNING).gsub(/^\s+\|/, '').chomp)
|
174
|
+
|[WARNING] Your expected `at(...)` value does not match the job scheduled_at value
|
175
|
+
|unless microseconds are removed. This precision error often occurs when checking
|
176
|
+
|values against `Time.current` / `Time.now` which have usec precision, but Rails
|
177
|
+
|uses `n.seconds.from_now` internally which has a usec count of `0`.
|
178
|
+
|
|
179
|
+
|Use `change(usec: 0)` to correct these values. For example:
|
180
|
+
|
|
181
|
+
|`Time.current.change(usec: 0)`
|
182
|
+
|
|
183
|
+
|Note: RSpec cannot do this for you because jobs can be scheduled with usec
|
184
|
+
|precision and we do not know wether it is on purpose or not.
|
185
|
+
|
|
186
|
+
|
|
187
|
+
WARNING
|
188
|
+
false
|
167
189
|
end
|
168
190
|
|
169
191
|
def set_expected_number(relativity, count)
|
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: 4.0
|
4
|
+
version: 4.1.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: 2021-03-06 00:00:00.000000000 Z
|
48
48
|
dependencies:
|
49
49
|
- !ruby/object:Gem::Dependency
|
50
50
|
name: actionpack
|
@@ -150,14 +150,14 @@ dependencies:
|
|
150
150
|
requirements:
|
151
151
|
- - "~>"
|
152
152
|
- !ruby/object:Gem::Version
|
153
|
-
version: 1.1.
|
153
|
+
version: 1.1.5
|
154
154
|
type: :development
|
155
155
|
prerelease: false
|
156
156
|
version_requirements: !ruby/object:Gem::Requirement
|
157
157
|
requirements:
|
158
158
|
- - "~>"
|
159
159
|
- !ruby/object:Gem::Version
|
160
|
-
version: 1.1.
|
160
|
+
version: 1.1.5
|
161
161
|
- !ruby/object:Gem::Dependency
|
162
162
|
name: aruba
|
163
163
|
requirement: !ruby/object:Gem::Requirement
|
@@ -296,7 +296,7 @@ licenses:
|
|
296
296
|
- MIT
|
297
297
|
metadata:
|
298
298
|
bug_tracker_uri: https://github.com/rspec/rspec-rails/issues
|
299
|
-
changelog_uri: https://github.com/rspec/rspec-rails/blob/v4.0
|
299
|
+
changelog_uri: https://github.com/rspec/rspec-rails/blob/v4.1.0/Changelog.md
|
300
300
|
documentation_uri: https://rspec.info/documentation/
|
301
301
|
mailing_list_uri: https://groups.google.com/forum/#!forum/rspec
|
302
302
|
source_code_uri: https://github.com/rspec/rspec-rails
|
@@ -316,7 +316,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
316
316
|
- !ruby/object:Gem::Version
|
317
317
|
version: '0'
|
318
318
|
requirements: []
|
319
|
-
rubygems_version: 3.
|
319
|
+
rubygems_version: 3.2.4
|
320
320
|
signing_key:
|
321
321
|
specification_version: 4
|
322
322
|
summary: RSpec for Rails
|
metadata.gz.sig
CHANGED
Binary file
|