rails_event_store-rspec 0.27.1 → 0.28.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/Makefile +7 -1
- data/lib/rails_event_store/rspec/be_event.rb +14 -8
- data/lib/rails_event_store/rspec/have_applied.rb +8 -6
- data/lib/rails_event_store/rspec/have_published.rb +9 -7
- data/lib/rails_event_store/rspec/version.rb +1 -1
- data/rails_event_store-rspec.gemspec +8 -1
- metadata +11 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 1e6ac542303e2e5dd097a4cbb95899e9a8b202a15d75d535fadba9e9aba49c76
|
4
|
+
data.tar.gz: 3ef5284f805f0af6b70a187364c614f3421044be43104ad44c6fc9ef40aa960e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d33f5ed8b4269228891d0342e9ef8c2dfb2adfb95f9a489f067320171f023421d7f04af3e17c06fa086b4c6bfd29c226ec04f32f4148e086898760ded72c4c2f
|
7
|
+
data.tar.gz: 248bde472ae9f7dc808a7387db842a63bd09a931d5438115ccd56cddcb46fa6222ed3a3d9864ff7c9a821d2de383321de723ecee74f89b3de65a53e0c1b43e97
|
data/Makefile
CHANGED
@@ -11,6 +11,12 @@ install: ## Install gem dependencies
|
|
11
11
|
@echo "Installing gem dependencies"
|
12
12
|
@bundle install
|
13
13
|
|
14
|
+
remove-lock:
|
15
|
+
@echo "Removing resolved dependency versions"
|
16
|
+
-rm Gemfile.lock
|
17
|
+
|
18
|
+
reinstall: remove-lock install ## Removing resolved dependency versions
|
19
|
+
|
14
20
|
test: ## Run unit tests
|
15
21
|
@echo "Running unit tests"
|
16
22
|
@bundle exec rspec
|
@@ -30,7 +36,7 @@ build:
|
|
30
36
|
|
31
37
|
push:
|
32
38
|
@echo "Pushing package to RubyGems"
|
33
|
-
@gem push pkg/$(GEM_NAME)-$(GEM_VERSION).gem
|
39
|
+
@gem push -k dev_arkency pkg/$(GEM_NAME)-$(GEM_VERSION).gem
|
34
40
|
|
35
41
|
clean:
|
36
42
|
@echo "Removing previously built package"
|
@@ -105,8 +105,8 @@ module RailsEventStore
|
|
105
105
|
def to_s
|
106
106
|
[
|
107
107
|
ExpectedLine.new(@expected_klass, @expected_metadata, @expected_data),
|
108
|
-
ActualLine.new(@actual_klass, @actual_metadata, @actual_data, @expected_metadata, @expected_data),
|
109
|
-
Diff.new(@actual_metadata, @expected_metadata, "Metadata", differ: @differ),
|
108
|
+
ActualLine.new(@actual_klass, @actual_metadata.to_h, @actual_data, @expected_metadata, @expected_data),
|
109
|
+
Diff.new(@actual_metadata.to_h, @expected_metadata, "Metadata", differ: @differ),
|
110
110
|
Diff.new(@actual_data, @expected_data, "Data", differ: @differ)
|
111
111
|
].map(&:to_s).join
|
112
112
|
end
|
@@ -135,13 +135,13 @@ module RailsEventStore
|
|
135
135
|
end
|
136
136
|
|
137
137
|
def failure_message
|
138
|
-
FailureMessage.new(
|
138
|
+
FailureMessage.new(expected, actual.class, expected_data, actual.data, expected_metadata, actual.metadata, differ: differ).to_s
|
139
139
|
end
|
140
140
|
|
141
141
|
def failure_message_when_negated
|
142
142
|
%Q{
|
143
|
-
expected: not a kind of #{
|
144
|
-
got: #{
|
143
|
+
expected: not a kind of #{expected}
|
144
|
+
got: #{actual.class}
|
145
145
|
}
|
146
146
|
end
|
147
147
|
|
@@ -153,15 +153,21 @@ expected: not a kind of #{@expected}
|
|
153
153
|
private
|
154
154
|
|
155
155
|
def matches_kind
|
156
|
-
KindMatcher.new(
|
156
|
+
KindMatcher.new(expected).matches?(actual)
|
157
157
|
end
|
158
158
|
|
159
159
|
def matches_data
|
160
|
-
DataMatcher.new(
|
160
|
+
DataMatcher.new(expected_data, strict: strict?).matches?(actual.data)
|
161
161
|
end
|
162
162
|
|
163
163
|
def matches_metadata
|
164
|
-
DataMatcher.new(
|
164
|
+
DataMatcher.new(expected_metadata, strict: strict?).matches?(actual.metadata.to_h)
|
165
|
+
end
|
166
|
+
|
167
|
+
attr_reader :expected_metadata, :expected_data, :actual, :expected, :differ
|
168
|
+
|
169
|
+
def strict?
|
170
|
+
@strict
|
165
171
|
end
|
166
172
|
end
|
167
173
|
end
|
@@ -1,15 +1,15 @@
|
|
1
1
|
module RailsEventStore
|
2
2
|
module RSpec
|
3
3
|
class HaveApplied
|
4
|
-
def initialize(
|
5
|
-
@expected = [
|
6
|
-
@matcher = ::RSpec::Matchers::BuiltIn::Include.new(
|
4
|
+
def initialize(mandatory_expected, *optional_expected, differ:)
|
5
|
+
@expected = [mandatory_expected, *optional_expected]
|
6
|
+
@matcher = ::RSpec::Matchers::BuiltIn::Include.new(*expected)
|
7
7
|
@differ = differ
|
8
8
|
end
|
9
9
|
|
10
10
|
def matches?(aggregate_root)
|
11
11
|
@events = aggregate_root.unpublished_events.to_a
|
12
|
-
|
12
|
+
matcher.matches?(events) && matches_count?
|
13
13
|
end
|
14
14
|
|
15
15
|
def exactly(count)
|
@@ -27,12 +27,12 @@ module RailsEventStore
|
|
27
27
|
end
|
28
28
|
|
29
29
|
def failure_message
|
30
|
-
|
30
|
+
differ.diff_as_string(expected.to_s, events.to_s)
|
31
31
|
end
|
32
32
|
|
33
33
|
private
|
34
34
|
|
35
|
-
def matches_count
|
35
|
+
def matches_count?
|
36
36
|
return true unless count
|
37
37
|
raise NotSupported if expected.size > 1
|
38
38
|
|
@@ -40,6 +40,8 @@ module RailsEventStore
|
|
40
40
|
events.select { |e| event_or_matcher === e }.size.equal?(count)
|
41
41
|
end
|
42
42
|
end
|
43
|
+
|
44
|
+
attr_reader :differ, :expected, :events, :count, :matcher
|
43
45
|
end
|
44
46
|
end
|
45
47
|
end
|
@@ -1,16 +1,16 @@
|
|
1
1
|
module RailsEventStore
|
2
2
|
module RSpec
|
3
3
|
class HavePublished
|
4
|
-
def initialize(
|
5
|
-
@expected = [
|
6
|
-
@matcher = ::RSpec::Matchers::BuiltIn::Include.new(
|
4
|
+
def initialize(mandatory_expected, *optional_expected, differ:)
|
5
|
+
@expected = [mandatory_expected, *optional_expected]
|
6
|
+
@matcher = ::RSpec::Matchers::BuiltIn::Include.new(*expected)
|
7
7
|
@differ = differ
|
8
8
|
end
|
9
9
|
|
10
10
|
def matches?(event_store)
|
11
|
-
@events =
|
11
|
+
@events = stream_name ? event_store.read_events_backward(stream_name)
|
12
12
|
: event_store.read_all_streams_backward
|
13
|
-
@matcher.matches?(
|
13
|
+
@matcher.matches?(events) && matches_count?
|
14
14
|
end
|
15
15
|
|
16
16
|
def exactly(count)
|
@@ -33,12 +33,12 @@ module RailsEventStore
|
|
33
33
|
end
|
34
34
|
|
35
35
|
def failure_message
|
36
|
-
|
36
|
+
differ.diff_as_string(expected.to_s, events.to_s)
|
37
37
|
end
|
38
38
|
|
39
39
|
private
|
40
40
|
|
41
|
-
def matches_count
|
41
|
+
def matches_count?
|
42
42
|
return true unless count
|
43
43
|
raise NotSupported if expected.size > 1
|
44
44
|
|
@@ -46,6 +46,8 @@ module RailsEventStore
|
|
46
46
|
events.select { |e| event_or_matcher === e }.size.equal?(count)
|
47
47
|
end
|
48
48
|
end
|
49
|
+
|
50
|
+
attr_reader :differ, :stream_name, :expected, :count, :events
|
49
51
|
end
|
50
52
|
end
|
51
53
|
end
|
@@ -11,6 +11,13 @@ Gem::Specification.new do |spec|
|
|
11
11
|
spec.email = ['dev@arkency.com']
|
12
12
|
|
13
13
|
spec.summary = %q{RSpec matchers for RailsEventStore}
|
14
|
+
spec.homepage = 'https://railseventstore.org'
|
15
|
+
spec.metadata = {
|
16
|
+
"homepage_uri" => "https://railseventstore.org/",
|
17
|
+
"changelog_uri" => "https://github.com/RailsEventStore/rails_event_store/releases",
|
18
|
+
"source_code_uri" => "https://github.com/RailsEventStore/rails_event_store",
|
19
|
+
"bug_tracker_uri" => "https://github.com/RailsEventStore/rails_event_store/issues",
|
20
|
+
}
|
14
21
|
|
15
22
|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
16
23
|
f.match(%r{^(test|spec|features)/})
|
@@ -24,7 +31,7 @@ Gem::Specification.new do |spec|
|
|
24
31
|
spec.add_development_dependency 'rspec', '~> 3.6'
|
25
32
|
spec.add_development_dependency 'mutant-rspec', '~> 0.8.14'
|
26
33
|
spec.add_development_dependency 'rails', '~> 5.1'
|
27
|
-
spec.add_development_dependency 'rails_event_store', '= 0.
|
34
|
+
spec.add_development_dependency 'rails_event_store', '= 0.28.0'
|
28
35
|
|
29
36
|
spec.add_runtime_dependency 'rspec', '~> 3.0'
|
30
37
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails_event_store-rspec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.28.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Arkency
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-05-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -86,14 +86,14 @@ dependencies:
|
|
86
86
|
requirements:
|
87
87
|
- - '='
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 0.
|
89
|
+
version: 0.28.0
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - '='
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 0.
|
96
|
+
version: 0.28.0
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: rspec
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -129,10 +129,14 @@ files:
|
|
129
129
|
- lib/rails_event_store/rspec/matchers.rb
|
130
130
|
- lib/rails_event_store/rspec/version.rb
|
131
131
|
- rails_event_store-rspec.gemspec
|
132
|
-
homepage:
|
132
|
+
homepage: https://railseventstore.org
|
133
133
|
licenses:
|
134
134
|
- MIT
|
135
|
-
metadata:
|
135
|
+
metadata:
|
136
|
+
homepage_uri: https://railseventstore.org/
|
137
|
+
changelog_uri: https://github.com/RailsEventStore/rails_event_store/releases
|
138
|
+
source_code_uri: https://github.com/RailsEventStore/rails_event_store
|
139
|
+
bug_tracker_uri: https://github.com/RailsEventStore/rails_event_store/issues
|
136
140
|
post_install_message:
|
137
141
|
rdoc_options: []
|
138
142
|
require_paths:
|
@@ -149,7 +153,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
149
153
|
version: '0'
|
150
154
|
requirements: []
|
151
155
|
rubyforge_project:
|
152
|
-
rubygems_version: 2.6
|
156
|
+
rubygems_version: 2.7.6
|
153
157
|
signing_key:
|
154
158
|
specification_version: 4
|
155
159
|
summary: RSpec matchers for RailsEventStore
|