Business-EDI
view release on metacpan or search on metacpan
t/021-Message-ORDRSP-xpath.t view on Meta::CPAN
is_deeply([($ordrsp->xpath("all_SG26/all_QTY/C186/6063"))],
[($ordrsp->xpath("all_SG26/all_QTY/6063" ))],
"self->xpath('all_SG26/all_QTY/C186/6063') === self->xpath('all_SG26/all_QTY/6063')");
is_deeply([($ordrsp->xpath("line_detail/all_QTY" ))],
[($ordrsp->xpath("all_SG26/all_QTY" ))],
"self->xpath('line_detail/all_QTY') === self->xpath('all_SG26/all_QTY')");
is_deeply([($ordrsp->xpath("line_detail/all_QTY/6063" ))],
[($ordrsp->xpath("all_SG26/all_QTY/6063" ))],
"self->xpath('line_detail/all_QTY/6063') === self->xpath('all_SG26/all_QTY/6063')");
is_deeply([($ordrsp->xpath("line_detail/line_reference"))],
[($ordrsp->xpath("all_SG26/line_reference" ))],
"self->xpath('line_detail/line_reference') === self->xpath('all_SG26/line_reference')");
ok($ordrsp->xpath("line_detail"), q[self->xpath('line_detail')] );
ok($ordrsp->xpath("line_detail/SG31"), q[self->xpath('line_detail/SG31')] );
ok($ordrsp->xpath("line_detail/SG31/RFF"), q[self->xpath('line_detail/SG31/RFF')] );
ok($ordrsp->xpath("line_detail/SG31/RFF/C506"), q[self->xpath('line_detail/SG31/RFF/C506')] );
ok($ordrsp->xpath("line_detail/SG31/RFF/C506/1154"), q[self->xpath('line_detail/SG31/RFF/C506/1154')]);
is_deeply([($ordrsp->xpath("line_detail/line_price"))],
[($ordrsp->xpath("all_SG26/line_price" ))],
"self->xpath('line_detail/line_price') === self->xpath('all_SG26/line_price')");
ok($ordrsp->xpath_value("line_detail/line_reference/RFF/1154"), q[self->xpath_value('line_detail/line_reference/RFF/1154')]);
if (! $basic) {
my @val_1154 = $ordrsp->xpath_value("line_detail/line_reference/RFF/1154");
subtest q[self->xpath_value('line_detail/line_reference/RFF/1154')] => sub {
plan tests => 18;
foreach (1..19) {
@val_1154 or last;
$_ == 5 and next; # Test data skips 5
my $rff = shift @val_1154;
$rff =~ s#^.*/##;
is($_, $rff, 'self->xpath_value("line_detail/line_reference/RFF/1154") ' . $_);
}
};
my @vals = $ordrsp->xpath_value("line_detail/all_QTY/6063");
subtest "self->xpath_value('line_detail/all_QTY/6063')" => sub {
plan tests => 54;
foreach ($ordrsp->xpath("line_detail/all_QTY/6063")) {
my $val = shift(@vals);
is($_->value, $val, "self->xpath_value('line_detail/all_QTY/6063') ($val)");
}
};
}
is($ordrsp->xpath_value('UNH/S009/0051'), 'UN', "self->xpath_value('UNH/S009/0051')");
is($ordrsp->xpath_value('UNH/S009/0052'), 'D', "self->xpath_value('UNH/S009/0052')");
is($ordrsp->xpath_value('UNH/S009/0065'), 'ORDRSP', "self->xpath_value('UNH/S009/0065')");
is($ordrsp->xpath_value('UNH/S009/0054'), '96A', "self->xpath_value('UNH/S009/0054')");
# print Dumper($ordrsp->xpath('UNH/S009/0065'));
# $debug and $debug > 1 and print Dumper $ordrsp;
}
ok($perl = ordrsp_data(), "DATA handle read and decode" );
$perl or die "DATA handle not read and decoded successfully";
$Data::Dumper::Indent = 1;
my $i = 0;
# We only have the data mapped out for the first message, so the other two use "basic" tests
foreach my $part (@{$perl->{body}}) {
foreach my $key (keys %$part) {
next unless ok($key eq 'ORDRSP', "EDI interchange message type == ORDRSP");
parse_ordrsp($part->{$key}, $i);
$i++;
}
}
note("done");
( run in 1.218 second using v1.01-cache-2.11-cpan-ceb78f64989 )