knapsack_pro 2.1.1 → 2.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/README.md +2 -0
- data/lib/knapsack_pro/hooks/queue.rb +31 -22
- data/lib/knapsack_pro/version.rb +1 -1
- data/spec/knapsack_pro/hooks/queue_spec.rb +49 -13
- 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: b399cf5cff114341276acbcc1c9c372ff4bfb51ffc05a5ee5b59cf531dc64feb
|
4
|
+
data.tar.gz: aed0dea9791ab8589c63192e53b3f64c2a071f690553bc0d450be61d20b51b1e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d44d7d00c68d618d7ec41b764b28a8bcd7e5f2c62329d7246f2ee760f0d956ce7f1ffbbf6e8fae2adedf3cbd62d83a255f0b89a1dff9c8cc216d42cd11a89603
|
7
|
+
data.tar.gz: 403cbc599ff70473aa07ae92abb73016a942c3ed21a2bbcb376ade1e8d0fe62e1ea64677fd6527c5a2b8822bd65fa7c6139ffb6c0850f273b795303974724bab
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,13 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
### 2.2.0
|
4
|
+
|
5
|
+
* Allow defining Queue Mode hooks multiple times (`KnapsackPro::Hooks::Queue.before_queue`, `KnapsackPro::Hooks::Queue.after_subset_queue`, `KnapsackPro::Hooks::Queue.after_queue`)
|
6
|
+
|
7
|
+
https://github.com/KnapsackPro/knapsack_pro-ruby/pull/122
|
8
|
+
|
9
|
+
https://github.com/KnapsackPro/knapsack_pro-ruby/compare/v2.1.1...v2.2.0
|
10
|
+
|
3
11
|
### 2.1.1
|
4
12
|
|
5
13
|
* Explicitly call root test runner class to avoid a confusing error when test runner gem is not loaded
|
data/README.md
CHANGED
@@ -2737,6 +2737,8 @@ end
|
|
2737
2737
|
|
2738
2738
|
#### What hooks are supported in Queue Mode?
|
2739
2739
|
|
2740
|
+
Note: Each hook type can be defined multiple times. For instance, if you define `KnapsackPro::Hooks::Queue.before_queue` twice then both block of code will be called when running your tests.
|
2741
|
+
|
2740
2742
|
* RSpec in knapsack_pro Queue Mode supports hooks:
|
2741
2743
|
|
2742
2744
|
```ruby
|
@@ -2,54 +2,63 @@ module KnapsackPro
|
|
2
2
|
module Hooks
|
3
3
|
class Queue
|
4
4
|
class << self
|
5
|
-
attr_reader :
|
6
|
-
:
|
7
|
-
:
|
5
|
+
attr_reader :before_queue_store,
|
6
|
+
:after_subset_queue_store,
|
7
|
+
:after_queue_store
|
8
8
|
|
9
9
|
def reset_before_queue
|
10
|
-
@
|
10
|
+
@before_queue_store = nil
|
11
11
|
end
|
12
12
|
|
13
13
|
def reset_after_subset_queue
|
14
|
-
@
|
14
|
+
@after_subset_queue_store = nil
|
15
15
|
end
|
16
16
|
|
17
17
|
def reset_after_queue
|
18
|
-
@
|
18
|
+
@after_queue_store = nil
|
19
19
|
end
|
20
20
|
|
21
21
|
def before_queue(&block)
|
22
|
-
@
|
22
|
+
@before_queue_store ||= []
|
23
|
+
@before_queue_store << block
|
23
24
|
end
|
24
25
|
|
25
26
|
def after_subset_queue(&block)
|
26
|
-
@
|
27
|
+
@after_subset_queue_store ||= []
|
28
|
+
@after_subset_queue_store << block
|
27
29
|
end
|
28
30
|
|
29
31
|
def after_queue(&block)
|
30
|
-
@
|
32
|
+
@after_queue_store ||= []
|
33
|
+
@after_queue_store << block
|
31
34
|
end
|
32
35
|
|
33
36
|
def call_before_queue
|
34
|
-
return unless
|
35
|
-
|
36
|
-
|
37
|
-
|
37
|
+
return unless before_queue_store
|
38
|
+
before_queue_store.each do |block|
|
39
|
+
block.call(
|
40
|
+
KnapsackPro::Config::Env.queue_id
|
41
|
+
)
|
42
|
+
end
|
38
43
|
end
|
39
44
|
|
40
45
|
def call_after_subset_queue
|
41
|
-
return unless
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
+
return unless after_subset_queue_store
|
47
|
+
after_subset_queue_store.each do |block|
|
48
|
+
block.call(
|
49
|
+
KnapsackPro::Config::Env.queue_id,
|
50
|
+
KnapsackPro::Config::Env.subset_queue_id
|
51
|
+
)
|
52
|
+
end
|
46
53
|
end
|
47
54
|
|
48
55
|
def call_after_queue
|
49
|
-
return unless
|
50
|
-
|
51
|
-
|
52
|
-
|
56
|
+
return unless after_queue_store
|
57
|
+
after_queue_store.each do |block|
|
58
|
+
block.call(
|
59
|
+
KnapsackPro::Config::Env.queue_id
|
60
|
+
)
|
61
|
+
end
|
53
62
|
end
|
54
63
|
end
|
55
64
|
end
|
data/lib/knapsack_pro/version.rb
CHANGED
@@ -10,18 +10,30 @@ describe KnapsackPro::Hooks::Queue do
|
|
10
10
|
it { should be_nil }
|
11
11
|
end
|
12
12
|
|
13
|
-
context 'when callback is set' do
|
13
|
+
context 'when callback is set multiple times' do
|
14
14
|
let(:queue_id) { double }
|
15
15
|
|
16
16
|
before do
|
17
|
-
expect(KnapsackPro::Config::Env).to receive(:queue_id).and_return(queue_id)
|
17
|
+
expect(KnapsackPro::Config::Env).to receive(:queue_id).twice.and_return(queue_id)
|
18
18
|
|
19
|
+
$expected_called_blocks = []
|
20
|
+
|
21
|
+
described_class.before_queue do |q_id|
|
22
|
+
$expected_called_blocks << [:block_1_called, q_id]
|
23
|
+
end
|
19
24
|
described_class.before_queue do |q_id|
|
20
|
-
[:
|
25
|
+
$expected_called_blocks << [:block_2_called, q_id]
|
21
26
|
end
|
22
27
|
end
|
23
28
|
|
24
|
-
it
|
29
|
+
it 'each block is called' do
|
30
|
+
subject
|
31
|
+
|
32
|
+
expect($expected_called_blocks).to eq([
|
33
|
+
[:block_1_called, queue_id],
|
34
|
+
[:block_2_called, queue_id],
|
35
|
+
])
|
36
|
+
end
|
25
37
|
end
|
26
38
|
end
|
27
39
|
|
@@ -36,20 +48,32 @@ describe KnapsackPro::Hooks::Queue do
|
|
36
48
|
it { should be_nil }
|
37
49
|
end
|
38
50
|
|
39
|
-
context 'when callback is set' do
|
51
|
+
context 'when callback is set multiple times' do
|
40
52
|
let(:queue_id) { double }
|
41
53
|
let(:subset_queue_id) { double }
|
42
54
|
|
43
55
|
before do
|
44
|
-
expect(KnapsackPro::Config::Env).to receive(:queue_id).and_return(queue_id)
|
45
|
-
expect(KnapsackPro::Config::Env).to receive(:subset_queue_id).and_return(subset_queue_id)
|
56
|
+
expect(KnapsackPro::Config::Env).to receive(:queue_id).twice.and_return(queue_id)
|
57
|
+
expect(KnapsackPro::Config::Env).to receive(:subset_queue_id).twice.and_return(subset_queue_id)
|
58
|
+
|
59
|
+
$expected_called_blocks = []
|
46
60
|
|
47
61
|
described_class.after_subset_queue do |q_id, subset_q_id|
|
48
|
-
[:
|
62
|
+
$expected_called_blocks << [:block_1_called, q_id, subset_q_id]
|
63
|
+
end
|
64
|
+
described_class.after_subset_queue do |q_id, subset_q_id|
|
65
|
+
$expected_called_blocks << [:block_2_called, q_id, subset_q_id]
|
49
66
|
end
|
50
67
|
end
|
51
68
|
|
52
|
-
it
|
69
|
+
it 'each block is called' do
|
70
|
+
subject
|
71
|
+
|
72
|
+
expect($expected_called_blocks).to eq([
|
73
|
+
[:block_1_called, queue_id, subset_queue_id],
|
74
|
+
[:block_2_called, queue_id, subset_queue_id],
|
75
|
+
])
|
76
|
+
end
|
53
77
|
end
|
54
78
|
end
|
55
79
|
|
@@ -64,18 +88,30 @@ describe KnapsackPro::Hooks::Queue do
|
|
64
88
|
it { should be_nil }
|
65
89
|
end
|
66
90
|
|
67
|
-
context 'when callback is set' do
|
91
|
+
context 'when callback is set multiple times' do
|
68
92
|
let(:queue_id) { double }
|
69
93
|
|
70
94
|
before do
|
71
|
-
expect(KnapsackPro::Config::Env).to receive(:queue_id).and_return(queue_id)
|
95
|
+
expect(KnapsackPro::Config::Env).to receive(:queue_id).twice.and_return(queue_id)
|
96
|
+
|
97
|
+
$expected_called_blocks = []
|
72
98
|
|
73
99
|
described_class.after_queue do |q_id|
|
74
|
-
[:
|
100
|
+
$expected_called_blocks << [:block_1_called, q_id]
|
101
|
+
end
|
102
|
+
described_class.after_queue do |q_id|
|
103
|
+
$expected_called_blocks << [:block_2_called, q_id]
|
75
104
|
end
|
76
105
|
end
|
77
106
|
|
78
|
-
it
|
107
|
+
it 'each block is called' do
|
108
|
+
subject
|
109
|
+
|
110
|
+
expect($expected_called_blocks).to eq([
|
111
|
+
[:block_1_called, queue_id],
|
112
|
+
[:block_2_called, queue_id],
|
113
|
+
])
|
114
|
+
end
|
79
115
|
end
|
80
116
|
end
|
81
117
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: knapsack_pro
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ArturT
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-09-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|