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