rails_event_store-rspec 0.28.2 → 0.29.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: da2ea22ecb4e2fd67359689edfec525411b504691ed52adf970aecdb1550579c
4
- data.tar.gz: c3275f36166f4a19e029e4cb7a6a3dc98b56c0ccc90ddc946504b1e995d3d181
3
+ metadata.gz: 70db937a2e115aceb3d4c01978447620202dc5a41b64b5c24672869e09844c77
4
+ data.tar.gz: 6c6b02698b8c45e31317b18a35369f96667c3562097394846f79c0ea58b2a7dd
5
5
  SHA512:
6
- metadata.gz: 1bae53eacf893ab72b80fe0db8c18c68fdb3bb9f7f45604bdccacc32f94c21c2986cc1bfea17459073250fdf5f579037ce4c2c4fc914289278bf85e3145720ee
7
- data.tar.gz: f3934e5cebf28cfc72e73b79c5822737686f175b3641944826e53b707afe05f70d5f86e0b0a419ee45775bce755e9809cd9d9218990a637220193f14ad7b1807
6
+ metadata.gz: 0b8244bd6ba6e6fb550f9ee846271dfeb92822d053e63f51b6c118677d38d26569e47987e6be5b027637ce38927794fb4ff7a1309269064e903f343f3927ef5b
7
+ data.tar.gz: 75bcc8649432de809b2980fe6f2f4373a36881ae853ba7a6fb80d5fa53848fa0ffa9e80bdd5d9144913b6ccc9eeae83b913f6bca837cab67994fe6d25c6d1ef6
data/Makefile CHANGED
@@ -2,6 +2,7 @@ GEM_VERSION = $(shell cat ../RES_VERSION)
2
2
  GEM_NAME = rails_event_store-rspec
3
3
  REQUIRE = rails_event_store/rspec
4
4
  IGNORE = RailsEventStore::RSpec::Matchers\#differ \
5
+ RailsEventStore::RSpec::Matchers\#formatter \
5
6
  RailsEventStore::RSpec::Matchers\#have_published \
6
7
  RailsEventStore::RSpec::Matchers\#have_applied \
7
8
  RailsEventStore::RSpec::Matchers\#be_an_event
@@ -114,14 +114,15 @@ module RailsEventStore
114
114
 
115
115
  include ::RSpec::Matchers::Composable
116
116
 
117
- def initialize(expected, differ:)
118
- @differ = differ
119
- @expected = expected
117
+ def initialize(expected, differ:, formatter:)
118
+ @differ = differ
119
+ @formatter = formatter
120
+ @expected = expected
120
121
  end
121
122
 
122
123
  def matches?(actual)
123
124
  @actual = actual
124
- [matches_kind, matches_data, matches_metadata].all?
125
+ matches_kind && matches_data && matches_metadata
125
126
  end
126
127
 
127
128
  def with_data(expected_data)
@@ -135,7 +136,7 @@ module RailsEventStore
135
136
  end
136
137
 
137
138
  def failure_message
138
- FailureMessage.new(expected, actual.class, expected_data, actual.data, expected_metadata, actual.metadata, differ: differ).to_s
139
+ FailureMessage.new(expected, actual.class, expected_data, actual.try(:data), expected_metadata, actual.try(:metadata), differ: differ).to_s
139
140
  end
140
141
 
141
142
  def failure_message_when_negated
@@ -150,6 +151,10 @@ expected: not a kind of #{expected}
150
151
  self
151
152
  end
152
153
 
154
+ def description
155
+ "be event #{formatter.(expected)}"
156
+ end
157
+
153
158
  private
154
159
 
155
160
  def matches_kind
@@ -164,7 +169,7 @@ expected: not a kind of #{expected}
164
169
  DataMatcher.new(expected_metadata, strict: strict?).matches?(actual.metadata.to_h)
165
170
  end
166
171
 
167
- attr_reader :expected_metadata, :expected_data, :actual, :expected, :differ
172
+ attr_reader :expected_metadata, :expected_data, :actual, :expected, :differ, :formatter
168
173
 
169
174
  def strict?
170
175
  @strict
@@ -1,10 +1,11 @@
1
1
  module RailsEventStore
2
2
  module RSpec
3
3
  class HaveApplied
4
- def initialize(mandatory_expected, *optional_expected, differ:)
5
- @expected = [mandatory_expected, *optional_expected]
6
- @matcher = ::RSpec::Matchers::BuiltIn::Include.new(*expected)
7
- @differ = differ
4
+ def initialize(mandatory_expected, *optional_expected, differ:, formatter:)
5
+ @expected = [mandatory_expected, *optional_expected]
6
+ @matcher = ::RSpec::Matchers::BuiltIn::Include.new(*expected)
7
+ @differ = differ
8
+ @formatter = formatter
8
9
  end
9
10
 
10
11
  def matches?(aggregate_root)
@@ -27,7 +28,17 @@ module RailsEventStore
27
28
  end
28
29
 
29
30
  def failure_message
30
- differ.diff_as_string(expected.to_s, events.to_s)
31
+ "expected #{expected} to be applied, diff:" +
32
+ differ.diff_as_string(expected.to_s, events.to_s)
33
+ end
34
+
35
+ def failure_message_when_negated
36
+ "expected #{expected} not to be applied, diff:" +
37
+ differ.diff_as_string(expected.inspect, events.inspect)
38
+ end
39
+
40
+ def description
41
+ "have applied [%s]" % expected.map { |e| formatter.(e) }.join(', ')
31
42
  end
32
43
 
33
44
  private
@@ -41,7 +52,7 @@ module RailsEventStore
41
52
  end
42
53
  end
43
54
 
44
- attr_reader :differ, :expected, :events, :count, :matcher
55
+ attr_reader :formatter, :differ, :expected, :events, :count, :matcher
45
56
  end
46
57
  end
47
58
  end
@@ -1,10 +1,11 @@
1
1
  module RailsEventStore
2
2
  module RSpec
3
3
  class HavePublished
4
- def initialize(mandatory_expected, *optional_expected, differ:)
5
- @expected = [mandatory_expected, *optional_expected]
6
- @matcher = ::RSpec::Matchers::BuiltIn::Include.new(*expected)
7
- @differ = differ
4
+ def initialize(mandatory_expected, *optional_expected, differ:, formatter:)
5
+ @expected = [mandatory_expected, *optional_expected]
6
+ @matcher = ::RSpec::Matchers::BuiltIn::Include.new(*expected)
7
+ @differ = differ
8
+ @formatter = formatter
8
9
  end
9
10
 
10
11
  def matches?(event_store)
@@ -33,7 +34,19 @@ module RailsEventStore
33
34
  end
34
35
 
35
36
  def failure_message
36
- differ.diff_as_string(expected.to_s, events.to_s)
37
+ "expected #{expected} to be published, diff:" +
38
+ differ.diff_as_string(expected.to_s, events.to_s)
39
+ end
40
+
41
+ def failure_message_when_negated
42
+ "expected #{expected} not to be published, diff:" +
43
+ differ.diff_as_string(expected.to_s, events.to_s)
44
+ end
45
+
46
+ def description
47
+ "have published [%s]" % expected
48
+ .map { |e| formatter.(e) }
49
+ .join(', ')
37
50
  end
38
51
 
39
52
  private
@@ -47,7 +60,7 @@ module RailsEventStore
47
60
  end
48
61
  end
49
62
 
50
- attr_reader :differ, :stream_name, :expected, :count, :events
63
+ attr_reader :formatter, :differ, :stream_name, :expected, :count, :events
51
64
  end
52
65
  end
53
66
  end
@@ -2,22 +2,26 @@ module RailsEventStore
2
2
  module RSpec
3
3
  module Matchers
4
4
  def be_an_event(expected)
5
- BeEvent.new(expected, differ: differ)
5
+ BeEvent.new(expected, differ: differ, formatter: formatter)
6
6
  end
7
7
  alias :be_event :be_an_event
8
8
  alias :an_event :be_an_event
9
9
  alias :event :be_an_event
10
10
 
11
11
  def have_published(*expected)
12
- HavePublished.new(*expected, differ: differ)
12
+ HavePublished.new(*expected, differ: differ, formatter: formatter)
13
13
  end
14
14
 
15
15
  def have_applied(*expected)
16
- HaveApplied.new(*expected, differ: differ)
16
+ HaveApplied.new(*expected, differ: differ, formatter: formatter)
17
17
  end
18
18
 
19
19
  private
20
20
 
21
+ def formatter
22
+ ::RSpec::Support::ObjectFormatter.method(:format)
23
+ end
24
+
21
25
  def differ
22
26
  ::RSpec::Support::Differ.new(color: ::RSpec::Matchers.configuration.color?)
23
27
  end
@@ -1,5 +1,5 @@
1
1
  module RailsEventStore
2
2
  module RSpec
3
- VERSION = "0.28.2"
3
+ VERSION = "0.29.0"
4
4
  end
5
5
  end
@@ -31,7 +31,7 @@ Gem::Specification.new do |spec|
31
31
  spec.add_development_dependency 'rspec', '~> 3.6'
32
32
  spec.add_development_dependency 'mutant-rspec', '~> 0.8.14'
33
33
  spec.add_development_dependency 'rails', '~> 5.1'
34
- spec.add_development_dependency 'rails_event_store', '= 0.28.2'
34
+ spec.add_development_dependency 'rails_event_store', '= 0.29.0'
35
35
 
36
36
  spec.add_runtime_dependency 'rspec', '~> 3.0'
37
37
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_event_store-rspec
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.28.2
4
+ version: 0.29.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arkency
@@ -86,14 +86,14 @@ dependencies:
86
86
  requirements:
87
87
  - - '='
88
88
  - !ruby/object:Gem::Version
89
- version: 0.28.2
89
+ version: 0.29.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.28.2
96
+ version: 0.29.0
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rspec
99
99
  requirement: !ruby/object:Gem::Requirement