Class: Messaging::Fixtures::Message
- Inherits:
-
Object
- Object
- Messaging::Fixtures::Message
- Includes:
- Initializer, TestBench::Fixture
- Defined in:
- lib/messaging/fixtures/message.rb
Constant Summary collapse
- Error =
Class.new(RuntimeError)
Class Method Summary collapse
Instance Method Summary collapse
- #assert_attribute_value(name, value) ⇒ Object
- #assert_attribute_value!(name, value) ⇒ Object
- #assert_attribute_values(attributes) ⇒ Object
- #assert_attributes_assigned(attribute_names = nil) ⇒ Object (also: #assert_all_attributes_assigned)
- #assert_attributes_copied(attribute_names = nil) ⇒ Object
- #assert_follows ⇒ Object
- #assert_metadata(&test_block) ⇒ Object
- #call ⇒ Object
- #call! ⇒ Object
- #detail_message_class? ⇒ Boolean
- #message_class ⇒ Object
- #message_type ⇒ Object
- #print_title_context? ⇒ Boolean
- #source_message_class ⇒ Object
- #source_message_type ⇒ Object
- #title_context_name ⇒ Object
Class Method Details
.build(message, source_message = nil, print_title_context: nil, title_context_name: nil, detail_message_class: nil, &test_block) ⇒ Object
53 54 55 |
# File 'lib/messaging/fixtures/message.rb', line 53 def self.build(, =nil, print_title_context: nil, title_context_name: nil, detail_message_class: nil, &test_block) new(, , print_title_context, title_context_name, , test_block) end |
Instance Method Details
#assert_attribute_value(name, value) ⇒ Object
139 140 141 142 143 |
# File 'lib/messaging/fixtures/message.rb', line 139 def assert_attribute_value(name, value) context "Attribute Value" do assert_attribute_value!(name, value) end end |
#assert_attribute_value!(name, value) ⇒ Object
145 146 147 148 149 150 151 152 153 154 |
# File 'lib/messaging/fixtures/message.rb', line 145 def assert_attribute_value!(name, value) attribute_value = .public_send(name) test "#{name}" do detail "Attribute Value: #{attribute_value.inspect}" detail "Compare Value: #{value.inspect}" assert(attribute_value == value) end end |
#assert_attribute_values(attributes) ⇒ Object
156 157 158 159 160 161 162 |
# File 'lib/messaging/fixtures/message.rb', line 156 def assert_attribute_values(attributes) context "Attribute Values" do attributes.each do |name, value| assert_attribute_value!(name, value) end end end |
#assert_attributes_assigned(attribute_names = nil) ⇒ Object Also known as: assert_all_attributes_assigned
92 93 94 95 96 97 98 99 100 |
# File 'lib/messaging/fixtures/message.rb', line 92 def assert_attributes_assigned(attribute_names=nil) fixture( Schema::Fixtures::Assignment, , attribute_names, print_title_context: false, attributes_context_name: "Attributes Assigned" ) end |
#assert_attributes_copied(attribute_names = nil) ⇒ Object
103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 |
# File 'lib/messaging/fixtures/message.rb', line 103 def assert_attributes_copied(attribute_names=nil) if .nil? test "Source message not nil" do detail "Source Message: nil" refute(.nil?) end return end fixture( Schema::Fixtures::Equality, , , attribute_names, ignore_class: true, print_title_context: false, attributes_context_name: "Attributes Copied: #{source_message_type} => #{message_type}" ) end |
#assert_follows ⇒ Object
132 133 134 135 136 137 |
# File 'lib/messaging/fixtures/message.rb', line 132 def assert_follows = . = &. fixture(Follows, , ) end |
#assert_metadata(&test_block) ⇒ Object
123 124 125 126 127 128 129 130 |
# File 'lib/messaging/fixtures/message.rb', line 123 def (&test_block) fixture( Metadata, ., &., &test_block ) end |
#call ⇒ Object
57 58 59 60 61 62 63 64 65 |
# File 'lib/messaging/fixtures/message.rb', line 57 def call if print_title_context? context "#{title_context_name}" do call! end else call! end end |
#call! ⇒ Object
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
# File 'lib/messaging/fixtures/message.rb', line 67 def call! if test_block.nil? raise Error, "Message fixture must be executed with a block" end if .nil? test "Not nil" do detail "Message: nil" detail "Remaining message tests are skipped" refute(.nil?) end return end if detail "Message Class: #{message_class.name}" end if not .nil? detail "Source Message Class: #{source_message_class.name}" end test_block.call(self) end |
#detail_message_class? ⇒ Boolean
44 45 46 47 48 49 |
# File 'lib/messaging/fixtures/message.rb', line 44 def if .nil? = true end end |
#message_class ⇒ Object
9 10 11 |
# File 'lib/messaging/fixtures/message.rb', line 9 def .class end |
#message_type ⇒ Object
13 14 15 |
# File 'lib/messaging/fixtures/message.rb', line 13 def .name.split('::').last end |
#print_title_context? ⇒ Boolean
25 26 27 28 29 30 |
# File 'lib/messaging/fixtures/message.rb', line 25 def print_title_context? if @print_title_context.nil? @print_title_context = true end @print_title_context end |
#source_message_class ⇒ Object
17 18 19 |
# File 'lib/messaging/fixtures/message.rb', line 17 def .class end |
#source_message_type ⇒ Object
21 22 23 |
# File 'lib/messaging/fixtures/message.rb', line 21 def .name.split('::').last end |
#title_context_name ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/messaging/fixtures/message.rb', line 32 def title_context_name if @title_context_name.nil? @title_context_name = "Message" if not .nil? @title_context_name = "#{@title_context_name}: #{message_type}" end end @title_context_name end |