View | Details | Raw Unified | Return to bug 17572
Collapse All | Expand All

(-)a/t/db_dependent/Circulation/issue.t (-97 / +47 lines)
Lines 76-164 my $itemtype = $builder->build( Link Here
76
        value  => { notforloan => undef, rentalcharge => 0 }
76
        value  => { notforloan => undef, rentalcharge => 0 }
77
    }
77
    }
78
)->{itemtype};
78
)->{itemtype};
79
79
my $branchcode_1 = $builder->build({ source => 'Branch' })->{branchcode};
80
#Add Dates
80
my $branchcode_2 = $builder->build({ source => 'Branch' })->{branchcode};
81
81
my $categorycode = $builder->build({
82
my $dt_today    = dt_from_string;
82
        source => 'Category',
83
my $today       = output_pref({ dt => $dt_today, dateformat => 'iso', timeformat => '24hr', dateonly => 1 });
83
        value => { enrolmentfee => undef }
84
    })->{categorycode};
85
86
# Add Dates
87
my $dt_today = dt_from_string;
88
my $today    = output_pref(
89
    {   dt         => $dt_today,
90
        dateformat => 'iso',
91
        timeformat => '24hr',
92
        dateonly   => 1
93
    }
94
);
84
95
85
my $dt_today2 = dt_from_string;
96
my $dt_today2 = dt_from_string;
86
my $dur10 = DateTime::Duration->new( days => -10 );
97
my $dur10 = DateTime::Duration->new( days => -10 );
87
$dt_today2->add_duration($dur10);
98
$dt_today2->add_duration($dur10);
88
my $daysago10 = output_pref({ dt => $dt_today2, dateformat => 'iso', timeformat => '24hr', dateonly => 1 });
99
my $daysago10 = output_pref(
89
100
    {   dt         => $dt_today2,
90
#Add branch and category
101
        dateformat => 'iso',
91
my $samplebranch1 = {
102
        timeformat => '24hr',
92
    branchcode     => 'CPL',
103
        dateonly   => 1
93
    branchname     => 'Sample Branch',
104
    }
94
    branchaddress1 => 'sample adr1',
95
    branchaddress2 => 'sample adr2',
96
    branchaddress3 => 'sample adr3',
97
    branchzip      => 'sample zip',
98
    branchcity     => 'sample city',
99
    branchstate    => 'sample state',
100
    branchcountry  => 'sample country',
101
    branchphone    => 'sample phone',
102
    branchfax      => 'sample fax',
103
    branchemail    => 'sample email',
104
    branchurl      => 'sample url',
105
    branchip       => 'sample ip',
106
    branchprinter  => undef,
107
    opac_info      => 'sample opac',
108
};
109
my $samplebranch2 = {
110
    branchcode     => 'MPL',
111
    branchname     => 'Sample Branch2',
112
    branchaddress1 => 'sample adr1_2',
113
    branchaddress2 => 'sample adr2_2',
114
    branchaddress3 => 'sample adr3_2',
115
    branchzip      => 'sample zip2',
116
    branchcity     => 'sample city2',
117
    branchstate    => 'sample state2',
118
    branchcountry  => 'sample country2',
119
    branchphone    => 'sample phone2',
120
    branchfax      => 'sample fax2',
121
    branchemail    => 'sample email2',
122
    branchurl      => 'sample url2',
123
    branchip       => 'sample ip2',
124
    branchprinter  => undef,
125
    opac_info      => 'sample opac2',
126
};
127
Koha::Library->new($samplebranch1)->store;
128
Koha::Library->new($samplebranch2)->store;
129
130
my $samplecat = {
131
    categorycode          => 'CAT1',
132
    description           => 'Description1',
133
    enrolmentperiod       => 'Null',
134
    enrolmentperioddate   => 'Null',
135
    dateofbirthrequired   => 'Null',
136
    finetype              => 'Null',
137
    bulk                  => 'Null',
138
    enrolmentfee          => 'Null',
139
    overduenoticerequired => 'Null',
140
    issuelimit            => 'Null',
141
    reservefee            => 'Null',
142
    hidelostitems         => 0,
143
    category_type         => 'Null'
144
};
145
my $query =
146
"INSERT INTO categories (categorycode,description,enrolmentperiod,enrolmentperioddate,dateofbirthrequired ,finetype,bulk,enrolmentfee,overduenoticerequired,issuelimit ,reservefee ,hidelostitems ,category_type) VALUES( ?,?,?,?,?,?,?,?,?,?,?,?,?)";
147
$dbh->do(
148
    $query, {},
149
    $samplecat->{categorycode},          $samplecat->{description},
150
    $samplecat->{enrolmentperiod},       $samplecat->{enrolmentperioddate},
151
    $samplecat->{dateofbirthrequired},   $samplecat->{finetype},
152
    $samplecat->{bulk},                  $samplecat->{enrolmentfee},
153
    $samplecat->{overduenoticerequired}, $samplecat->{issuelimit},
154
    $samplecat->{reservefee},            $samplecat->{hidelostitems},
155
    $samplecat->{category_type}
156
);
105
);
157
106
158
#Add biblio and item
107
# Add biblio and item
159
my $record = MARC::Record->new();
108
my $record = MARC::Record->new();
160
$record->append_fields(
109
$record->append_fields(
161
    MARC::Field->new( '952', '0', '0', a => $samplebranch1->{branchcode} ) );
110
    MARC::Field->new( '952', '0', '0', a => $branchcode_1 ) );
111
162
my ( $biblionumber, $biblioitemnumber ) = C4::Biblio::AddBiblio( $record, '' );
112
my ( $biblionumber, $biblioitemnumber ) = C4::Biblio::AddBiblio( $record, '' );
163
113
164
my $barcode_1 = 'barcode_1';
114
my $barcode_1 = 'barcode_1';
Lines 167-174 my @sampleitem1 = C4::Items::AddItem( Link Here
167
    {
117
    {
168
        barcode        => $barcode_1,
118
        barcode        => $barcode_1,
169
        itemcallnumber => 'callnumber1',
119
        itemcallnumber => 'callnumber1',
170
        homebranch     => $samplebranch1->{branchcode},
120
        homebranch     => $branchcode_1,
171
        holdingbranch  => $samplebranch1->{branchcode},
121
        holdingbranch  => $branchcode_1,
172
        issue          => 1,
122
        issue          => 1,
173
        reserve        => 1,
123
        reserve        => 1,
174
        itype          => $itemtype
124
        itype          => $itemtype
Lines 180-187 my @sampleitem2 = C4::Items::AddItem( Link Here
180
    {
130
    {
181
        barcode        => $barcode_2,
131
        barcode        => $barcode_2,
182
        itemcallnumber => 'callnumber2',
132
        itemcallnumber => 'callnumber2',
183
        homebranch     => $samplebranch2->{branchcode},
133
        homebranch     => $branchcode_2,
184
        holdingbranch  => $samplebranch2->{branchcode},
134
        holdingbranch  => $branchcode_2,
185
        notforloan     => 1,
135
        notforloan     => 1,
186
        issue          => 1,
136
        issue          => 1,
187
        itype          => $itemtype
137
        itype          => $itemtype
Lines 194-215 my $item_id2 = $sampleitem2[2]; Link Here
194
my $borrower_id1 = C4::Members::AddMember(
144
my $borrower_id1 = C4::Members::AddMember(
195
    firstname    => 'firstname1',
145
    firstname    => 'firstname1',
196
    surname      => 'surname1 ',
146
    surname      => 'surname1 ',
197
    categorycode => $samplecat->{categorycode},
147
    categorycode => $categorycode,
198
    branchcode   => $samplebranch1->{branchcode},
148
    branchcode   => $branchcode_1
199
);
149
);
200
my $borrower_1 = C4::Members::GetMember(borrowernumber => $borrower_id1);
150
my $borrower_1 = C4::Members::GetMember(borrowernumber => $borrower_id1);
201
my $borrower_id2 = C4::Members::AddMember(
151
my $borrower_id2 = C4::Members::AddMember(
202
    firstname    => 'firstname2',
152
    firstname    => 'firstname2',
203
    surname      => 'surname2 ',
153
    surname      => 'surname2 ',
204
    categorycode => $samplecat->{categorycode},
154
    categorycode => $categorycode,
205
    branchcode   => $samplebranch2->{branchcode},
155
    branchcode   => $branchcode_2,
206
);
156
);
207
my $borrower_2 = C4::Members::GetMember(borrowernumber => $borrower_id2);
157
my $borrower_2 = C4::Members::GetMember(borrowernumber => $borrower_id2);
208
158
209
# NEED TO BE FIXED !!!
159
my @USERENV = (
210
# The first parameter for set_userenv is the class ref
160
    $borrower_id1, 'test', 'MASTERTEST', 'firstname', $branchcode_1,
211
#my @USERENV = ( $borrower_id1, 'test', 'MASTERTEST', 'firstname', 'username', 'CPL', 'CPL', 'email@example.org' );
161
    $branchcode_1, 'email@example.org'
212
my @USERENV = ( $borrower_id1, 'test', 'MASTERTEST', 'firstname', 'CPL', 'CPL', 'email@example.org' );
162
);
163
213
164
214
C4::Context->_new_userenv('DUMMY_SESSION_ID');
165
C4::Context->_new_userenv('DUMMY_SESSION_ID');
215
C4::Context->set_userenv(@USERENV);
166
C4::Context->set_userenv(@USERENV);
Lines 220-226 my $userenv = C4::Context->userenv Link Here
220
#Begin Tests
171
#Begin Tests
221
172
222
#Test AddIssue
173
#Test AddIssue
223
$query = " SELECT count(*) FROM issues";
174
my $query = " SELECT count(*) FROM issues";
224
my $sth = $dbh->prepare($query);
175
my $sth = $dbh->prepare($query);
225
$sth->execute;
176
$sth->execute;
226
my $countissue = $sth -> fetchrow_array;
177
my $countissue = $sth -> fetchrow_array;
Lines 259-265 is ($countaccount,1,"1 accountline has been added"); Link Here
259
210
260
#Test AddRenewal
211
#Test AddRenewal
261
my $datedue3 =
212
my $datedue3 =
262
  AddRenewal( $borrower_id1, $item_id1, $samplebranch1->{branchcode},
213
  AddRenewal( $borrower_id1, $item_id1, $branchcode_1,
263
    $datedue1, $daysago10 );
214
    $datedue1, $daysago10 );
264
like(
215
like(
265
    $datedue3,
216
    $datedue3,
Lines 356-362 is_deeply( Link Here
356
    "With issuing rules (renewal allowed) and with a valid parameter, Getrenewcount of item1 returns 3 renews left"
307
    "With issuing rules (renewal allowed) and with a valid parameter, Getrenewcount of item1 returns 3 renews left"
357
);
308
);
358
309
359
AddRenewal( $borrower_id1, $item_id1, $samplebranch1->{branchcode},
310
AddRenewal( $borrower_id1, $item_id1, $branchcode_1,
360
    $datedue3, $daysago10 );
311
    $datedue3, $daysago10 );
361
@renewcount = C4::Circulation::GetRenewCount($borrower_id1, $item_id1);
312
@renewcount = C4::Circulation::GetRenewCount($borrower_id1, $item_id1);
362
is_deeply(
313
is_deeply(
Lines 381-388 my $itemnumber; Link Here
381
    {
332
    {
382
        barcode        => 'barcode_3',
333
        barcode        => 'barcode_3',
383
        itemcallnumber => 'callnumber3',
334
        itemcallnumber => 'callnumber3',
384
        homebranch     => $samplebranch1->{branchcode},
335
        homebranch     => $branchcode_1,
385
        holdingbranch  => $samplebranch1->{branchcode},
336
        holdingbranch  => $branchcode_1,
386
        notforloan     => 1,
337
        notforloan     => 1,
387
        itype          => $itemtype
338
        itype          => $itemtype
388
    },
339
    },
Lines 390-410 my $itemnumber; Link Here
390
);
341
);
391
342
392
t::lib::Mocks::mock_preference( 'UpdateNotForLoanStatusOnCheckin', q{} );
343
t::lib::Mocks::mock_preference( 'UpdateNotForLoanStatusOnCheckin', q{} );
393
AddReturn( 'barcode_3', $samplebranch1->{branchcode} );
344
AddReturn( 'barcode_3', $branchcode_1 );
394
my $item = GetItem( $itemnumber );
345
my $item = GetItem( $itemnumber );
395
ok( $item->{notforloan} eq 1, 'UpdateNotForLoanStatusOnCheckin does not modify value when not enabled' );
346
ok( $item->{notforloan} eq 1, 'UpdateNotForLoanStatusOnCheckin does not modify value when not enabled' );
396
347
397
t::lib::Mocks::mock_preference( 'UpdateNotForLoanStatusOnCheckin', '1: 9' );
348
t::lib::Mocks::mock_preference( 'UpdateNotForLoanStatusOnCheckin', '1: 9' );
398
AddReturn( 'barcode_3', $samplebranch1->{branchcode} );
349
AddReturn( 'barcode_3', $branchcode_1 );
399
$item = GetItem( $itemnumber );
350
$item = GetItem( $itemnumber );
400
ok( $item->{notforloan} eq 9, q{UpdateNotForLoanStatusOnCheckin updates notforloan value from 1 to 9 with setting "1: 9"} );
351
ok( $item->{notforloan} eq 9, q{UpdateNotForLoanStatusOnCheckin updates notforloan value from 1 to 9 with setting "1: 9"} );
401
352
402
AddReturn( 'barcode_3', $samplebranch1->{branchcode} );
353
AddReturn( 'barcode_3', $branchcode_1 );
403
$item = GetItem( $itemnumber );
354
$item = GetItem( $itemnumber );
404
ok( $item->{notforloan} eq 9, q{UpdateNotForLoanStatusOnCheckin does not update notforloan value from 9 with setting "1: 9"} );
355
ok( $item->{notforloan} eq 9, q{UpdateNotForLoanStatusOnCheckin does not update notforloan value from 9 with setting "1: 9"} );
405
356
406
# Bug 14640 - Cancel the hold on checking out if asked
357
# Bug 14640 - Cancel the hold on checking out if asked
407
my $reserve_id = AddReserve('CPL', $borrower_id1, $biblionumber,
358
my $reserve_id = AddReserve($branchcode_1, $borrower_id1, $biblionumber,
408
    undef,  1, undef, undef, "a note", "a title", undef, '');
359
    undef,  1, undef, undef, "a note", "a title", undef, '');
409
ok( $reserve_id, 'The reserve should have been inserted' );
360
ok( $reserve_id, 'The reserve should have been inserted' );
410
AddIssue( $borrower_2, $barcode_1, dt_from_string, 'cancel' );
361
AddIssue( $borrower_2, $barcode_1, dt_from_string, 'cancel' );
411
- 

Return to bug 17572