require 'test_helper' require 'deserializers/xml/ident' class DeserializersXmlIdentTest < ActiveSupport::TestCase def test_returns_empty_hash_when_not_present xml_string = <<-XML john-001 new name +123.4 new-email@inbox.test XML nokogiri_frame = Nokogiri::XML(xml_string).remove_namespaces! instance = ::Deserializers::Xml::Ident.new(nokogiri_frame) assert_equal instance.call, {} end def test_returns_empty_hash_when_not_valid xml_string = <<-XML FIRST0:SH2027223711 wrong password 37605030299 dGVzdCBmYWlsCg== ABC-12345 XML nokogiri_frame = Nokogiri::XML(xml_string).remove_namespaces! instance = ::Deserializers::Xml::Ident.new(nokogiri_frame) assert_equal instance.call, {} end def test_returns_complete_hash_when_valid xml_string = <<-XML FIRST0:SH2027223711 wrong password 37605030299 dGVzdCBmYWlsCg== ABC-12345 XML nokogiri_frame = Nokogiri::XML(xml_string).remove_namespaces! instance = ::Deserializers::Xml::Ident.new(nokogiri_frame) expected_result = { ident: '37605030299', ident_type: 'priv', ident_country_code: 'EE' } assert_equal instance.call, expected_result end end