Lines 23-28
use Test::More tests => 2;
Link Here
|
23 |
|
23 |
|
24 |
use Koha::Edifact::Order; |
24 |
use Koha::Edifact::Order; |
25 |
|
25 |
|
|
|
26 |
use t::lib::Mocks; |
26 |
use t::lib::TestBuilder; |
27 |
use t::lib::TestBuilder; |
27 |
|
28 |
|
28 |
my $schema = Koha::Database->new->schema; |
29 |
my $schema = Koha::Database->new->schema; |
Lines 32-38
my $builder = t::lib::TestBuilder->new;
Link Here
|
32 |
subtest 'order_line() tests' => sub { |
33 |
subtest 'order_line() tests' => sub { |
33 |
# TODO: Split up order_line() to smaller methods in order |
34 |
# TODO: Split up order_line() to smaller methods in order |
34 |
# to allow better testing |
35 |
# to allow better testing |
35 |
plan tests => 24; |
36 |
plan tests => 27; |
36 |
|
37 |
|
37 |
$schema->storage->txn_begin; |
38 |
$schema->storage->txn_begin; |
38 |
|
39 |
|
Lines 45-50
subtest 'order_line() tests' => sub {
Link Here
|
45 |
{ |
46 |
{ |
46 |
biblionumber => $biblio->biblionumber, |
47 |
biblionumber => $biblio->biblionumber, |
47 |
location => 'PROCESSING', |
48 |
location => 'PROCESSING', |
|
|
49 |
ccode => 'COLLECTION', |
48 |
itemcallnumber => '000.101' |
50 |
itemcallnumber => '000.101' |
49 |
} |
51 |
} |
50 |
); |
52 |
); |
Lines 54-59
subtest 'order_line() tests' => sub {
Link Here
|
54 |
{ |
56 |
{ |
55 |
biblionumber => $biblio->biblionumber, |
57 |
biblionumber => $biblio->biblionumber, |
56 |
location => 'PROCESSING', |
58 |
location => 'PROCESSING', |
|
|
59 |
ccode => 'COLLECTION', |
57 |
itemcallnumber => '000.102' |
60 |
itemcallnumber => '000.102' |
58 |
} |
61 |
} |
59 |
); |
62 |
); |
Lines 104-109
subtest 'order_line() tests' => sub {
Link Here
|
104 |
); |
107 |
); |
105 |
|
108 |
|
106 |
# FIXME: Add test for an order where the attached biblio has been deleted. |
109 |
# FIXME: Add test for an order where the attached biblio has been deleted. |
|
|
110 |
|
111 |
# Set EdifactLSQ field to default |
112 |
t::lib::Mocks::mock_preference( 'EdifactLSQ', 'location' ); |
107 |
|
113 |
|
108 |
$order->basket->create_items('ordering')->store; |
114 |
$order->basket->create_items('ordering')->store; |
109 |
is( $edi_order->order_line( 1, $orders[0] ), |
115 |
is( $edi_order->order_line( 1, $orders[0] ), |
Lines 178-183
subtest 'order_line() tests' => sub {
Link Here
|
178 |
is( $segs->[9], "RFF+LI:$ordernumber'", 'RFF segment added containing koha orderline id' ); |
184 |
is( $segs->[9], "RFF+LI:$ordernumber'", 'RFF segment added containing koha orderline id' ); |
179 |
is( $segs->[10], "RFF+$supplier_qualifier:$supplier_ordernumber'", 'RFF segment added containing supplier orderline id' ); |
185 |
is( $segs->[10], "RFF+$supplier_qualifier:$supplier_ordernumber'", 'RFF segment added containing supplier orderline id' ); |
180 |
|
186 |
|
|
|
187 |
# Reset segments for testing EdifactLSQ preference |
188 |
$edi_order->{segs} = []; |
189 |
|
190 |
# Set EdifactLSQ field to ccode |
191 |
t::lib::Mocks::mock_preference( 'EdifactLSQ', 'ccode' ); |
192 |
|
193 |
$order->basket->create_items('ordering')->store; |
194 |
is( $edi_order->order_line( 1, $orders[0] ), |
195 |
undef, 'order_line run for message formed with EdifactLSQ = "ccode"' ); |
196 |
|
197 |
$segs = $edi_order->{segs}; |
198 |
is( |
199 |
$segs->[5], |
200 |
'GIR+001' |
201 |
. "+$budgetcode:LFN" |
202 |
. "+$item1_homebranch:LLO" |
203 |
. "+$item1_itype:LST" |
204 |
. "+COLLECTION:LSQ" |
205 |
. "+000.101:LSM" |
206 |
. "'", |
207 |
'GIR segment added for first item and contains item ccode data' |
208 |
); |
209 |
is( |
210 |
$segs->[6], |
211 |
'GIR+002' |
212 |
. "+$budgetcode:LFN" |
213 |
. "+$item2_homebranch:LLO" |
214 |
. "+$item2_itype:LST" |
215 |
. "+COLLECTION:LSQ" |
216 |
. "+000.102:LSM" |
217 |
. "'", |
218 |
'GIR segment added for second item and contains item ccode data' |
219 |
); |
220 |
|
181 |
$schema->storage->txn_rollback; |
221 |
$schema->storage->txn_rollback; |
182 |
}; |
222 |
}; |
183 |
|
223 |
|
184 |
- |
|
|