#!perl
use strict; use warnings;
-use Test::More tests => 26;
+use Test::More tests => 31;
use OpenILS::Utils::TestUtils;
use OpenILS::Const qw(:const);
$authtoken[0],
$copy->id()
);
-is($copy->status(), OILS_COPY_STATUS_IN_TRANSIT, 'Copy in transit 2');
+is($copy->status(), OILS_COPY_STATUS_IN_TRANSIT, 'Copy in transit');
+
+# Abort the transit at destination.
+$abort = $apputils->simplereq(
+ 'open-ils.circ',
+ 'open-ils.circ.transit.abort',
+ $authtoken[1],
+ {transitid => $transit->id()}
+);
+is($abort, 1, 'Transit aborted');
+
+# Check copy status. It should be in transit.
+$copy = $apputils->simplereq(
+ 'open-ils.pcrud',
+ 'open-ils.pcrud.retrieve.acp',
+ $authtoken[0],
+ $copy->id()
+);
+is($copy->status(), OILS_COPY_STATUS_IN_TRANSIT, 'Copy in transit');
+
+# Check copy in at BR1
+$checkin = $apputils->simplereq(
+ 'open-ils.circ',
+ 'open-ils.circ.checkin',
+ $authtoken[0],
+ {barcode => CBARCODE}
+);
+subtest 'Got ROUTE_ITEM event 3' => sub {
+ plan tests => 3;
+ is(ref($checkin), 'HASH', 'Got event');
+ is($checkin->{textcode}, 'ROUTE_ITEM', 'Route item event');
+ is($checkin->{org}, BR3_ID, 'ROUTE_ITEM event destination');
+};
+
+# Check copy transit.
+$transit = $apputils->simplereq(
+ 'open-ils.pcrud',
+ 'open-ils.pcrud.search.ahtc',
+ $authtoken[0],
+ {target_copy => $copy->id(), hold => $hold->id(), dest_recv_time => undef}
+);
+subtest 'Got hold transit 3' => sub {
+ plan tests => 4;
+ isa_ok(ref($transit), 'Fieldmapper::action::hold_transit_copy', 'Got hold transit copy');
+ is($transit->dest(), BR3_ID, 'Transit destination');
+ is($transit->source(), BR1_ID, 'Transit source');
+ is($transit->copy_status(), OILS_COPY_STATUS_ON_HOLDS_SHELF, 'Transit copy status');
+};
+
+# Check copy status.
+$copy = $apputils->simplereq(
+ 'open-ils.pcrud',
+ 'open-ils.pcrud.retrieve.acp',
+ $authtoken[0],
+ $copy->id()
+);
+is($copy->status(), OILS_COPY_STATUS_IN_TRANSIT, 'Copy in transit 3');
# Check copy in at BR3.
$checkin = $apputils->simplereq(