Module: MR::JsonField::TestHelpers::InstanceMethods
- Defined in:
- lib/mr/json_field.rb
Instance Method Summary collapse
- #assert_json_field(subject, field_name, options = nil) ⇒ Object
- #assert_json_field_reader(subject, field_name, options = nil) ⇒ Object
- #assert_json_field_writer(subject, field_name, options = nil) ⇒ Object
Instance Method Details
#assert_json_field(subject, field_name, options = nil) ⇒ Object
139 140 141 142 |
# File 'lib/mr/json_field.rb', line 139 def assert_json_field(subject, field_name, = nil) assert_json_field_reader(subject, field_name, ) assert_json_field_writer(subject, field_name, ) end |
#assert_json_field_reader(subject, field_name, options = nil) ⇒ Object
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 |
# File 'lib/mr/json_field.rb', line 144 def assert_json_field_reader(subject, field_name, = nil) ||= {} source_field_name = [:source] || "#{field_name}_json" # set a value to read if it's `nil` if subject.send(source_field_name).nil? encoded_value = MR::JsonField.encode({ MR::Factory.string => MR::Factory.string }) subject.send("#{source_field_name}=", encoded_value) end assert_respond_to "#{field_name}", subject exp = MR::JsonField.decode(subject.send"#{source_field_name}") assert_equal exp, subject.send("#{field_name}") end |
#assert_json_field_writer(subject, field_name, options = nil) ⇒ Object
161 162 163 164 165 166 167 168 169 170 |
# File 'lib/mr/json_field.rb', line 161 def assert_json_field_writer(subject, field_name, = nil) ||= {} source_field_name = [:source] || "#{field_name}_json" assert_respond_to "#{field_name}=", subject new_value = { MR::Factory.string => MR::Factory.string } subject.send("#{field_name}=", new_value) exp = MR::JsonField.encode(new_value) assert_equal exp, subject.send("#{source_field_name}") end |