test-prof 1.4.0 → 1.4.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/CHANGELOG.md +9 -0
- data/lib/test_prof/before_all.rb +30 -7
- data/lib/test_prof/cops/rspec/aggregate_examples/its.rb +1 -1
- data/lib/test_prof/cops/rspec/aggregate_examples.rb +2 -2
- data/lib/test_prof/core.rb +4 -0
- data/lib/test_prof/ext/active_record_refind.rb +1 -1
- data/lib/test_prof/ext/string_truncate.rb +1 -1
- data/lib/test_prof/factory_bot.rb +1 -1
- data/lib/test_prof/rspec_stamp/parser.rb +1 -1
- data/lib/test_prof/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: db12b48471cc8814d90d2388415798a742a5b5d69f61862bc88c12ac118e80c2
|
4
|
+
data.tar.gz: 9c930443a46e765d13b4528725d795aef8e4a2ab9b9c2c7a3939e2cb458ebd03
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6fe1ff6102261d0b8c3c9e88e982255996b01ec6a34a9bc0d812a5021e8dd193aba57feca87d467c99f93973e98ed4cc4e94c94e8e1ab2e7b61dce806eeebedc
|
7
|
+
data.tar.gz: db01e089936817767666c9d8d8fc11c0e2765bbb254be6e1baa5fac3ab26de7ad6d2b937dca7c6f0bef72fb60045caef2e909bf196978ebe94aef0c7f54da1c4
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,14 @@
|
|
2
2
|
|
3
3
|
## master (unreleased)
|
4
4
|
|
5
|
+
## 1.4.2 (2024-09-03) 🗓️
|
6
|
+
|
7
|
+
- Ignore default scopes in `ActiveRecord::Base#refind`. ([@palkan][])
|
8
|
+
|
9
|
+
## 1.4.1 (2024-08-23)
|
10
|
+
|
11
|
+
- Skips loading the ActiveRecord adapter for runs where RSpec --dry-run mode is enabled. ([@devinburnette][])
|
12
|
+
|
5
13
|
## 1.4.0 (2024-08-12)
|
6
14
|
|
7
15
|
- AnyFixture: Disable fixtures cache within _clean fixture_ context. Automatically _refind_ records when using `#fixture`. ([@palkan][])
|
@@ -434,3 +442,4 @@ See [changelog](https://github.com/test-prof/test-prof/blob/v0.8.0/CHANGELOG.md)
|
|
434
442
|
[@lioneldebauge]: https://github.com/lioneldebauge
|
435
443
|
[@lHydra]: https://github.com/lHydra
|
436
444
|
[@john-h-k]: https://github.com/john-h-k
|
445
|
+
[@devinburnette]: https://github.com/devinburnette
|
data/lib/test_prof/before_all.rb
CHANGED
@@ -14,8 +14,26 @@ module TestProf
|
|
14
14
|
end
|
15
15
|
end
|
16
16
|
|
17
|
+
# Used in dry-run mode
|
18
|
+
class NoopAdapter
|
19
|
+
class << self
|
20
|
+
def begin_transaction(...)
|
21
|
+
end
|
22
|
+
|
23
|
+
def rollback_transaction(...)
|
24
|
+
end
|
25
|
+
|
26
|
+
def setup_fixtures(...)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
17
31
|
class << self
|
18
|
-
|
32
|
+
attr_writer :adapter
|
33
|
+
|
34
|
+
def adapter
|
35
|
+
@adapter ||= default_adapter
|
36
|
+
end
|
19
37
|
|
20
38
|
def begin_transaction(scope = nil, metadata = [])
|
21
39
|
raise AdapterMissing if adapter.nil?
|
@@ -47,6 +65,17 @@ module TestProf
|
|
47
65
|
def configure
|
48
66
|
yield config
|
49
67
|
end
|
68
|
+
|
69
|
+
private
|
70
|
+
|
71
|
+
def default_adapter
|
72
|
+
return NoopAdapter if TestProf.dry_run?
|
73
|
+
|
74
|
+
if defined?(::ActiveRecord::Base)
|
75
|
+
require "test_prof/before_all/adapters/active_record"
|
76
|
+
Adapters::ActiveRecord
|
77
|
+
end
|
78
|
+
end
|
50
79
|
end
|
51
80
|
|
52
81
|
class HookEntry # :nodoc:
|
@@ -138,12 +167,6 @@ module TestProf
|
|
138
167
|
end
|
139
168
|
end
|
140
169
|
|
141
|
-
if defined?(::ActiveRecord::Base)
|
142
|
-
require "test_prof/before_all/adapters/active_record"
|
143
|
-
|
144
|
-
TestProf::BeforeAll.adapter = TestProf::BeforeAll::Adapters::ActiveRecord
|
145
|
-
end
|
146
|
-
|
147
170
|
if defined?(::Isolator)
|
148
171
|
require "test_prof/before_all/isolator"
|
149
172
|
end
|
@@ -123,7 +123,7 @@ module RuboCop
|
|
123
123
|
def on_block(node)
|
124
124
|
example_group_with_several_examples(node) do |all_examples|
|
125
125
|
example_clusters(all_examples).each do |_, examples|
|
126
|
-
examples[1
|
126
|
+
examples[1..].each do |example|
|
127
127
|
add_offense(example,
|
128
128
|
location: :expression,
|
129
129
|
message: message_for(example, examples[0]))
|
@@ -141,7 +141,7 @@ module RuboCop
|
|
141
141
|
range = range_for_replace(examples)
|
142
142
|
replacement = aggregated_example(examples, metadata)
|
143
143
|
corrector.replace(range, replacement)
|
144
|
-
examples[1
|
144
|
+
examples[1..].map { |example| drop_example(corrector, example) }
|
145
145
|
end
|
146
146
|
end
|
147
147
|
end
|
data/lib/test_prof/core.rb
CHANGED
@@ -75,6 +75,10 @@ module TestProf
|
|
75
75
|
defined?(::Spring::Application) && (disabled.nil? || disabled.empty? || disabled == "0")
|
76
76
|
end
|
77
77
|
|
78
|
+
def dry_run?
|
79
|
+
rspec? && ::RSpec.configuration.dry_run?
|
80
|
+
end
|
81
|
+
|
78
82
|
# Returns the current process time
|
79
83
|
def now
|
80
84
|
Process.clock_gettime_for_test_prof(Process::CLOCK_MONOTONIC)
|
@@ -3,7 +3,7 @@
|
|
3
3
|
module TestProf # :nodoc: all
|
4
4
|
FACTORY_GIRL_NAMES = {"factory_bot" => "::FactoryBot", "factory_girl" => "::FactoryGirl"}.freeze
|
5
5
|
|
6
|
-
TestProf.require("active_support
|
6
|
+
TestProf.require("active_support")
|
7
7
|
|
8
8
|
FACTORY_GIRL_NAMES.find do |name, cname|
|
9
9
|
TestProf.require(name) do
|
data/lib/test_prof/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: test-prof
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vladimir Dementyev
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-09-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|