rspec-sidekiq_pro 1.1.0 → 1.3.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
- data/README.md +13 -1
- data/lib/rspec/sidekiq_pro/batches.rb +2 -3
- data/lib/rspec/sidekiq_pro/matchers/job_matcher.rb +54 -2
- data/lib/rspec/sidekiq_pro/matchers.rb +4 -8
- data/lib/rspec/sidekiq_pro/version.rb +1 -1
- metadata +11 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9c17791f8aa93dfb4980ced725dc7469ffb056be113a035fc1586ef278116d83
|
4
|
+
data.tar.gz: 1aa9429f684ee980239144b919c3dc5912bac6a5bbb4c4958fd53c6a0f1f08b4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b99e17cb692da23642dc8f988f339cf419783207143bd6871f285ad30a96a34ea8a69115924c657aecc96decd48c2fda88d21ad106e90c1896bed3a797e91b00
|
7
|
+
data.tar.gz: 6091324c106b4472dcd44a6b17ced626d8a4431d444857505851caae2eb4e398f53ca64bb2d27d7ecd42af22002646f2cc0a93c3c0fdcf25649f85a34d3fcf18
|
data/README.md
CHANGED
@@ -55,7 +55,11 @@ Both matchers provide the same chainable methods:
|
|
55
55
|
* `.with`
|
56
56
|
* `.once`
|
57
57
|
* `.twice`
|
58
|
-
* `.exactly().times`
|
58
|
+
* `.exactly(n).times`
|
59
|
+
* `.more_than(n).times`
|
60
|
+
* `.less_than(n).times`
|
61
|
+
* `.at_least(n).times`
|
62
|
+
* `.at_most(n).times`
|
59
63
|
* `.in`
|
60
64
|
* `.at`
|
61
65
|
* `.within_batch`
|
@@ -103,6 +107,14 @@ it do
|
|
103
107
|
end
|
104
108
|
```
|
105
109
|
|
110
|
+
```ruby
|
111
|
+
it do
|
112
|
+
expect {
|
113
|
+
10.times { SampleJob.perform_async }
|
114
|
+
}.to enqueue_sidekiq_job(SampleJob).more_than(5).times
|
115
|
+
end
|
116
|
+
```
|
117
|
+
|
106
118
|
Be careful when checking both counts and arguments:
|
107
119
|
|
108
120
|
```ruby
|
@@ -89,7 +89,7 @@ module Sidekiq
|
|
89
89
|
@bid = bid || SecureRandom.urlsafe_base64(10)
|
90
90
|
props = RSpec::SidekiqPro::Batches::Props.fetch(bid, {})
|
91
91
|
|
92
|
-
@created_at = props.fetch("created_at", Time.now.utc).to_f
|
92
|
+
@created_f = @created_at = props.fetch("created_at", Time.now.utc).to_f
|
93
93
|
@description = props["description"]
|
94
94
|
@parent_bid = props["parent"]
|
95
95
|
@callbacks = props.fetch("callbacks", {})
|
@@ -125,9 +125,8 @@ module Sidekiq
|
|
125
125
|
end
|
126
126
|
|
127
127
|
def invalidate_jids(*jids)
|
128
|
-
return super if Sidekiq::Testing.disabled?
|
129
|
-
|
130
128
|
# TODO
|
129
|
+
# return super if Sidekiq::Testing.disabled?
|
131
130
|
end
|
132
131
|
|
133
132
|
def invalidated?
|
@@ -12,6 +12,10 @@ module RSpec
|
|
12
12
|
:expected_timestamp,
|
13
13
|
:expected_schedule,
|
14
14
|
:expected_count,
|
15
|
+
:expected_least_count,
|
16
|
+
:expected_most_count,
|
17
|
+
:expected_more_count,
|
18
|
+
:expected_less_count,
|
15
19
|
:expected_without_batch,
|
16
20
|
:expected_batch,
|
17
21
|
:actual_jobs
|
@@ -52,8 +56,28 @@ module RSpec
|
|
52
56
|
exactly(2)
|
53
57
|
end
|
54
58
|
|
55
|
-
def exactly(
|
56
|
-
@expected_count =
|
59
|
+
def exactly(count)
|
60
|
+
@expected_count = count
|
61
|
+
self
|
62
|
+
end
|
63
|
+
|
64
|
+
def at_least(count)
|
65
|
+
@expected_least_count = count
|
66
|
+
self
|
67
|
+
end
|
68
|
+
|
69
|
+
def at_most(count)
|
70
|
+
@expected_most_count = count
|
71
|
+
self
|
72
|
+
end
|
73
|
+
|
74
|
+
def more_than(count)
|
75
|
+
@expected_more_count = count
|
76
|
+
self
|
77
|
+
end
|
78
|
+
|
79
|
+
def less_than(count)
|
80
|
+
@expected_less_count = count
|
57
81
|
self
|
58
82
|
end
|
59
83
|
|
@@ -89,6 +113,14 @@ module RSpec
|
|
89
113
|
|
90
114
|
if expected_count
|
91
115
|
filtered_jobs.count == expected_count
|
116
|
+
elsif expected_least_count
|
117
|
+
filtered_jobs.count >= expected_least_count
|
118
|
+
elsif expected_most_count
|
119
|
+
filtered_jobs.count <= expected_most_count
|
120
|
+
elsif expected_more_count
|
121
|
+
filtered_jobs.count > expected_more_count
|
122
|
+
elsif expected_less_count
|
123
|
+
filtered_jobs.count < expected_less_count
|
92
124
|
else
|
93
125
|
filtered_jobs.any?
|
94
126
|
end
|
@@ -100,6 +132,14 @@ module RSpec
|
|
100
132
|
|
101
133
|
if expected_count
|
102
134
|
filtered_jobs.count != expected_count
|
135
|
+
elsif expected_least_count
|
136
|
+
raise ArgumentError, "ambiguous `at_least` matcher used with negative form"
|
137
|
+
elsif expected_most_count
|
138
|
+
raise ArgumentError, "ambiguous `at_most` matcher used with negative form"
|
139
|
+
elsif expected_more_count
|
140
|
+
filtered_jobs.count < expected_more_count
|
141
|
+
elsif expected_less_count
|
142
|
+
filtered_jobs.count > expected_less_count
|
103
143
|
else
|
104
144
|
filtered_jobs.empty?
|
105
145
|
end
|
@@ -122,6 +162,14 @@ module RSpec
|
|
122
162
|
description += " twice"
|
123
163
|
elsif expected_count
|
124
164
|
description += " #{expected_count} times"
|
165
|
+
elsif expected_least_count
|
166
|
+
description += " at least #{expected_least_count} times"
|
167
|
+
elsif expected_most_count
|
168
|
+
description += " at most #{expected_most_count} times"
|
169
|
+
elsif expected_more_count
|
170
|
+
description += " more than #{expected_more_count} times"
|
171
|
+
elsif expected_less_count
|
172
|
+
description += " less than #{expected_less_count} times"
|
125
173
|
end
|
126
174
|
|
127
175
|
if expected_arguments.is_a?(Proc)
|
@@ -160,6 +208,10 @@ module RSpec
|
|
160
208
|
def expectations_in_failure_message
|
161
209
|
message = []
|
162
210
|
message << " exactly: #{expected_count} time(s)" if expected_count
|
211
|
+
message << " at least: #{expected_least_count} time(s)" if expected_least_count
|
212
|
+
message << " at most: #{expected_most_count} time(s)" if expected_most_count
|
213
|
+
message << " more than: #{expected_more_count} time(s)" if expected_more_count
|
214
|
+
message << " less than: #{expected_less_count} time(s)" if expected_less_count
|
163
215
|
message << " arguments: #{expected_arguments}" if expected_arguments
|
164
216
|
message << " in: #{expected_interval_output}" if expected_interval
|
165
217
|
message << " at: #{expected_timestamp}" if expected_timestamp
|
@@ -18,13 +18,11 @@ module RSpec
|
|
18
18
|
# expect(AwesomeWorker).to have_enqueued_sidekiq_job.in(5.minutes)
|
19
19
|
#
|
20
20
|
def have_enqueued_sidekiq_job
|
21
|
-
HaveEnqueuedSidekiqJobs.new.once
|
22
|
-
end
|
23
|
-
|
24
|
-
def have_enqueued_sidekiq_jobs
|
25
21
|
HaveEnqueuedSidekiqJobs.new
|
26
22
|
end
|
27
23
|
|
24
|
+
alias_method :have_enqueued_sidekiq_jobs, :have_enqueued_sidekiq_job
|
25
|
+
|
28
26
|
# Checks if a certain job was enqueued in a block.
|
29
27
|
#
|
30
28
|
# expect { AwesomeWorker.perform_async }
|
@@ -37,12 +35,10 @@ module RSpec
|
|
37
35
|
# .to enqueue_sidekiq_job(AwesomeWorker).in(5.minutes)
|
38
36
|
#
|
39
37
|
def enqueue_sidekiq_job(worker_class)
|
40
|
-
EnqueueSidekiqJobs.new(worker_class).once
|
41
|
-
end
|
42
|
-
|
43
|
-
def enqueue_sidekiq_jobs(worker_class)
|
44
38
|
EnqueueSidekiqJobs.new(worker_class)
|
45
39
|
end
|
40
|
+
|
41
|
+
alias_method :enqueue_sidekiq_jobs, :enqueue_sidekiq_job
|
46
42
|
end
|
47
43
|
end
|
48
44
|
end
|
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspec-sidekiq_pro
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Savater Sebastien
|
8
|
-
autorequire:
|
9
8
|
bindir: bin
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: activesupport
|
@@ -19,7 +18,7 @@ dependencies:
|
|
19
18
|
version: '6.0'
|
20
19
|
- - "<"
|
21
20
|
- !ruby/object:Gem::Version
|
22
|
-
version: '
|
21
|
+
version: '9'
|
23
22
|
type: :runtime
|
24
23
|
prerelease: false
|
25
24
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -29,7 +28,7 @@ dependencies:
|
|
29
28
|
version: '6.0'
|
30
29
|
- - "<"
|
31
30
|
- !ruby/object:Gem::Version
|
32
|
-
version: '
|
31
|
+
version: '9'
|
33
32
|
- !ruby/object:Gem::Dependency
|
34
33
|
name: rspec
|
35
34
|
requirement: !ruby/object:Gem::Requirement
|
@@ -53,7 +52,7 @@ dependencies:
|
|
53
52
|
version: '6.5'
|
54
53
|
- - "<"
|
55
54
|
- !ruby/object:Gem::Version
|
56
|
-
version: '
|
55
|
+
version: '9'
|
57
56
|
type: :runtime
|
58
57
|
prerelease: false
|
59
58
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -63,7 +62,7 @@ dependencies:
|
|
63
62
|
version: '6.5'
|
64
63
|
- - "<"
|
65
64
|
- !ruby/object:Gem::Version
|
66
|
-
version: '
|
65
|
+
version: '9'
|
67
66
|
- !ruby/object:Gem::Dependency
|
68
67
|
name: sidekiq-pro
|
69
68
|
requirement: !ruby/object:Gem::Requirement
|
@@ -73,7 +72,7 @@ dependencies:
|
|
73
72
|
version: '5.5'
|
74
73
|
- - "<"
|
75
74
|
- !ruby/object:Gem::Version
|
76
|
-
version: '
|
75
|
+
version: '9'
|
77
76
|
type: :runtime
|
78
77
|
prerelease: false
|
79
78
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -83,7 +82,7 @@ dependencies:
|
|
83
82
|
version: '5.5'
|
84
83
|
- - "<"
|
85
84
|
- !ruby/object:Gem::Version
|
86
|
-
version: '
|
85
|
+
version: '9'
|
87
86
|
- !ruby/object:Gem::Dependency
|
88
87
|
name: zeitwerk
|
89
88
|
requirement: !ruby/object:Gem::Requirement
|
@@ -98,7 +97,7 @@ dependencies:
|
|
98
97
|
- - "~>"
|
99
98
|
- !ruby/object:Gem::Version
|
100
99
|
version: '2.6'
|
101
|
-
description:
|
100
|
+
description: A collection of RSpec matchers for Sidekiq Pro
|
102
101
|
email: github.60k5k@simplelogin.co
|
103
102
|
executables: []
|
104
103
|
extensions: []
|
@@ -117,7 +116,6 @@ homepage: http://github.com/inkstak/rspec-sidekiq_pro
|
|
117
116
|
licenses:
|
118
117
|
- MIT
|
119
118
|
metadata: {}
|
120
|
-
post_install_message:
|
121
119
|
rdoc_options: []
|
122
120
|
require_paths:
|
123
121
|
- lib
|
@@ -132,8 +130,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
132
130
|
- !ruby/object:Gem::Version
|
133
131
|
version: '0'
|
134
132
|
requirements: []
|
135
|
-
rubygems_version: 3.
|
136
|
-
signing_key:
|
133
|
+
rubygems_version: 3.6.7
|
137
134
|
specification_version: 4
|
138
|
-
summary: A collection of
|
135
|
+
summary: A collection of RSpec matchers for Sidekiq Pro
|
139
136
|
test_files: []
|