rails_event_store-rspec 0.27.1 → 0.28.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 +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
|