rails_event_store-rspec 0.28.2 → 0.29.0

Sign up to get free protection for your applications and to get access to all the features.
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