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

(-)a/t/db_dependent/Circulation_Branch.t (-1 / +1 lines)
Lines 26-33 $dbh->{RaiseError} = 1; Link Here
26
$dbh->{AutoCommit} = 0;
26
$dbh->{AutoCommit} = 0;
27
27
28
$dbh->do(q|DELETE FROM issues|);
28
$dbh->do(q|DELETE FROM issues|);
29
$dbh->do(q|DELETE FROM borrowers|);
30
$dbh->do(q|DELETE FROM items|);
29
$dbh->do(q|DELETE FROM items|);
30
$dbh->do(q|DELETE FROM borrowers|);
31
$dbh->do(q|DELETE FROM branches|);
31
$dbh->do(q|DELETE FROM branches|);
32
$dbh->do(q|DELETE FROM categories|);
32
$dbh->do(q|DELETE FROM categories|);
33
$dbh->do(q|DELETE FROM accountlines|);
33
$dbh->do(q|DELETE FROM accountlines|);
(-)a/t/db_dependent/Circulation_issue.t (-25 / +97 lines)
Lines 10-16 use C4::Circulation; Link Here
10
use C4::Items;
10
use C4::Items;
11
use C4::Context;
11
use C4::Context;
12
12
13
use Test::More tests => 16;
13
use Test::More tests => 24;
14
14
15
BEGIN {
15
BEGIN {
16
    use_ok('C4::Circulation');
16
    use_ok('C4::Circulation');
Lines 38-57 $dbh->{RaiseError} = 1; Link Here
38
$dbh->{AutoCommit} = 0;
38
$dbh->{AutoCommit} = 0;
39
39
40
$dbh->do(q|DELETE FROM issues|);
40
$dbh->do(q|DELETE FROM issues|);
41
$dbh->do(q|DELETE FROM borrowers|);
42
$dbh->do(q|DELETE FROM items|);
41
$dbh->do(q|DELETE FROM items|);
42
$dbh->do(q|DELETE FROM borrowers|);
43
$dbh->do(q|DELETE FROM branches|);
43
$dbh->do(q|DELETE FROM branches|);
44
$dbh->do(q|DELETE FROM categories|);
44
$dbh->do(q|DELETE FROM categories|);
45
$dbh->do(q|DELETE FROM accountlines|);
45
$dbh->do(q|DELETE FROM accountlines|);
46
$dbh->do(q|DELETE FROM issuingrules|);
46
47
47
#Add sample datas
48
#Add sample datas
48
my @USERENV = ( 1, 'test', 'MASTERTEST', 'Test', 'Test', 't', 'Test', 0, );
49
50
C4::Context->_new_userenv('DUMMY_SESSION_ID');
51
C4::Context->set_userenv(@USERENV);
52
53
my $userenv = C4::Context->userenv
54
  or BAIL_OUT("No userenv");
55
49
56
#Add Dates
50
#Add Dates
57
51
Lines 66-72 my $daysago10 = output_pref( $dt_today2, 'iso', '24hr', 1 ); Link Here
66
#Add branch and category
60
#Add branch and category
67
my $samplebranch1 = {
61
my $samplebranch1 = {
68
    add            => 1,
62
    add            => 1,
69
    branchcode     => 'SAB1',
63
    branchcode     => 'CPL',
70
    branchname     => 'Sample Branch',
64
    branchname     => 'Sample Branch',
71
    branchaddress1 => 'sample adr1',
65
    branchaddress1 => 'sample adr1',
72
    branchaddress2 => 'sample adr2',
66
    branchaddress2 => 'sample adr2',
Lines 85-91 my $samplebranch1 = { Link Here
85
};
79
};
86
my $samplebranch2 = {
80
my $samplebranch2 = {
87
    add            => 1,
81
    add            => 1,
88
    branchcode     => 'SAB2',
82
    branchcode     => 'MPL',
89
    branchname     => 'Sample Branch2',
83
    branchname     => 'Sample Branch2',
90
    branchaddress1 => 'sample adr1_2',
84
    branchaddress1 => 'sample adr1_2',
91
    branchaddress2 => 'sample adr2_2',
85
    branchaddress2 => 'sample adr2_2',
Lines 137-147 $dbh->do( Link Here
137
my $record = MARC::Record->new();
131
my $record = MARC::Record->new();
138
$record->append_fields(
132
$record->append_fields(
139
    MARC::Field->new( '952', '0', '0', a => $samplebranch1->{branchcode} ) );
133
    MARC::Field->new( '952', '0', '0', a => $samplebranch1->{branchcode} ) );
140
my ( $biblionumber, $biblioitemnumber ) = C4::Biblio::AddBiblio( $record, '', );
134
my ( $biblionumber, $biblioitemnumber ) = C4::Biblio::AddBiblio( $record, '' );
141
135
142
my @sampleitem1 = C4::Items::AddItem(
136
my @sampleitem1 = C4::Items::AddItem(
143
    {
137
    {
144
        barcode        => 1,
138
        barcode        => 'barcode_1',
145
        itemcallnumber => 'callnumber1',
139
        itemcallnumber => 'callnumber1',
146
        homebranch     => $samplebranch1->{branchcode},
140
        homebranch     => $samplebranch1->{branchcode},
147
        holdingbranch  => $samplebranch1->{branchcode},
141
        holdingbranch  => $samplebranch1->{branchcode},
Lines 153-159 my @sampleitem1 = C4::Items::AddItem( Link Here
153
my $item_id1    = $sampleitem1[2];
147
my $item_id1    = $sampleitem1[2];
154
my @sampleitem2 = C4::Items::AddItem(
148
my @sampleitem2 = C4::Items::AddItem(
155
    {
149
    {
156
        barcode        => 2,
150
        barcode        => 'barcode_2',
157
        itemcallnumber => 'callnumber2',
151
        itemcallnumber => 'callnumber2',
158
        homebranch     => $samplebranch2->{branchcode},
152
        homebranch     => $samplebranch2->{branchcode},
159
        holdingbranch  => $samplebranch2->{branchcode},
153
        holdingbranch  => $samplebranch2->{branchcode},
Lines 171-182 my $borrower_id1 = C4::Members::AddMember( Link Here
171
    categorycode => $samplecat->{categorycode},
165
    categorycode => $samplecat->{categorycode},
172
    branchcode   => $samplebranch1->{branchcode},
166
    branchcode   => $samplebranch1->{branchcode},
173
);
167
);
168
my $borrower_1 = C4::Members::GetMember(borrowernumber => $borrower_id1);
174
my $borrower_id2 = C4::Members::AddMember(
169
my $borrower_id2 = C4::Members::AddMember(
175
    firstname    => 'firstname2',
170
    firstname    => 'firstname2',
176
    surname      => 'surname2 ',
171
    surname      => 'surname2 ',
177
    categorycode => $samplecat->{categorycode},
172
    categorycode => $samplecat->{categorycode},
178
    branchcode   => $samplebranch2->{branchcode},
173
    branchcode   => $samplebranch2->{branchcode},
179
);
174
);
175
my $borrower_2 = C4::Members::GetMember(borrowernumber => $borrower_id2);
176
177
# NEED TO BE FIXED !!!
178
# The first parameter for set_userenv is the class ref
179
#my @USERENV = ( $borrower_id1, 'test', 'MASTERTEST', 'firstname', 'username', 'CPL', 'CPL', 'email@example.org' );
180
my @USERENV = ( $borrower_id1, 'test', 'MASTERTEST', 'firstname', 'CPL', 'CPL', 'email@example.org' );
181
182
C4::Context->_new_userenv('DUMMY_SESSION_ID');
183
C4::Context->set_userenv(@USERENV);
184
185
my $userenv = C4::Context->userenv
186
  or BAIL_OUT("No userenv");
180
187
181
#Begin Tests
188
#Begin Tests
182
189
Lines 186-192 my $sth = $dbh->prepare($query); Link Here
186
$sth->execute;
193
$sth->execute;
187
my $countissue = $sth -> fetchrow_array;
194
my $countissue = $sth -> fetchrow_array;
188
is ($countissue ,0, "there is no issue");
195
is ($countissue ,0, "there is no issue");
189
my $datedue1 = C4::Circulation::AddIssue( $borrower_id1, "code", $daysago10,0, $today, '' );
196
my $datedue1 = C4::Circulation::AddIssue( $borrower_1, "code", $daysago10,0, $today, '' );
190
like(
197
like(
191
    $datedue1,
198
    $datedue1,
192
    qr/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}/,
199
    qr/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}/,
Lines 194-200 like( Link Here
194
);
201
);
195
my $issue_id1 = $dbh->last_insert_id( undef, undef, 'issues', undef );
202
my $issue_id1 = $dbh->last_insert_id( undef, undef, 'issues', undef );
196
203
197
my $datedue2 = C4::Circulation::AddIssue( $borrower_id1, 'Barcode2' );
204
my $datedue2 = C4::Circulation::AddIssue( $borrower_1, 'nonexistent_barcode' );
198
is( $datedue2, undef, "AddIssue returns undef if no datedue is specified" );
205
is( $datedue2, undef, "AddIssue returns undef if no datedue is specified" );
199
my $issue_id2 = $dbh->last_insert_id( undef, undef, 'issues', undef );
206
my $issue_id2 = $dbh->last_insert_id( undef, undef, 'issues', undef );
200
207
Lines 242-264 is(GetItemIssue,undef,"Without parameter GetItemIssue returns undef"); Link Here
242
is( GetOpenIssue(), undef, "Without parameter GetOpenIssue returns undef" );
249
is( GetOpenIssue(), undef, "Without parameter GetOpenIssue returns undef" );
243
is( GetOpenIssue(-1), undef,
250
is( GetOpenIssue(-1), undef,
244
    "With wrong parameter GetOpenIssue returns undef" );
251
    "With wrong parameter GetOpenIssue returns undef" );
245
my $openissue = GetOpenIssue($item_id1);
252
my $openissue = GetOpenIssue($borrower_id1, $item_id1);
246
253
254
my @renewcount;
247
#Test GetRenewCount
255
#Test GetRenewCount
248
my @renewcount = C4::Circulation::GetRenewCount();
256
$datedue2 = C4::Circulation::AddIssue( $borrower_1, 'barcode_1' );
257
isnt( $datedue2, undef, "AddIssue does not return undef if datedue is specified" );
258
#Without anything in DB
259
@renewcount = C4::Circulation::GetRenewCount();
249
is_deeply(
260
is_deeply(
250
    \@renewcount,
261
    \@renewcount,
251
    [ 0, 1, 1 ],
262
    [ 0, undef, 0 ], # FIXME Need to be fixed
252
"Without paramater, GetRenewCount returns renewcount0,renewsallowed = 0,renewsleft = 0"
263
    "Without issuing rules and without parameter, GetRenewCount returns renewcount = 0, renewsallowed = undef, renewsleft = 0"
253
);
264
);
254
@renewcount = C4::Circulation::GetRenewCount(-1);
265
@renewcount = C4::Circulation::GetRenewCount(-1);
255
is_deeply(
266
is_deeply(
256
    \@renewcount,
267
    \@renewcount,
257
    [ 0, 1, 1 ],
268
    [ 0, undef, 0 ], # FIXME Need to be fixed
258
"Without wrong, GetRenewCount returns renewcount0,renewsallowed = 0,renewsleft = 0"
269
    "Without issuing rules and without wrong parameter, GetRenewCount returns renewcount = 0, renewsallowed = undef, renewsleft = 0"
270
);
271
@renewcount = C4::Circulation::GetRenewCount($borrower_id1, $item_id1);
272
is_deeply(
273
    \@renewcount,
274
    [ 0, undef, 0 ], # FIXME Need to be fixed
275
    "Without issuing rules and with a valid parameter, renewcount = 0, renewsallowed = undef, renewsleft = 0"
259
);
276
);
260
@renewcount = C4::Circulation::GetRenewCount($item_id1);
277
261
is_deeply( \@renewcount, [ 0, 1, 1 ], "Getrenewcount of item1 returns" );
278
#With something in DB
279
# Add a default rule: No renewal allowed
280
$dbh->do(q|
281
    INSERT INTO issuingrules( categorycode, itemtype, branchcode, issuelength, renewalsallowed )
282
    VALUES ( '*', '*', '*', 10, 0 )
283
|);
284
@renewcount = C4::Circulation::GetRenewCount();
285
is_deeply(
286
    \@renewcount,
287
    [ 0, 0, 0 ],
288
    "With issuing rules (renewal disallowed) and without parameter, GetRenewCount returns renewcount = 0, renewsallowed = 0, renewsleft = 0"
289
);
290
@renewcount = C4::Circulation::GetRenewCount(-1);
291
is_deeply(
292
    \@renewcount,
293
    [ 0, 0, 0 ],
294
    "With issuing rules (renewal disallowed) and without wrong parameter, GetRenewCount returns renewcount = 0, renewsallowed = 0, renewsleft = 0"
295
);
296
@renewcount = C4::Circulation::GetRenewCount($borrower_id1, $item_id1);
297
is_deeply(
298
    \@renewcount,
299
    [ 0, 0, 0 ],
300
    "With issuing rules (renewal disallowed) and with a valid parameter, Getrenewcount returns renewcount = 0, renewsallowed = 0, renewsleft = 0"
301
);
302
303
# Add a default rule: renewal is allowed
304
$dbh->do(q|
305
    UPDATE issuingrules SET renewalsallowed = 3
306
|);
307
@renewcount = C4::Circulation::GetRenewCount();
308
is_deeply(
309
    \@renewcount,
310
    [ 0, 3, 3 ],
311
    "With issuing rules (renewal allowed) and without parameter, GetRenewCount returns renewcount = 0, renewsallowed = 3, renewsleft = 3"
312
);
313
@renewcount = C4::Circulation::GetRenewCount(-1);
314
is_deeply(
315
    \@renewcount,
316
    [ 0, 3, 3 ],
317
    "With issuing rules (renewal allowed) and without wrong parameter, GetRenewCount returns renewcount = 0, renewsallowed = 3, renewsleft = 3"
318
);
319
@renewcount = C4::Circulation::GetRenewCount($borrower_id1, $item_id1);
320
is_deeply(
321
    \@renewcount,
322
    [ 0, 3, 3 ],
323
    "With issuing rules (renewal allowed) and with a valid parameter, Getrenewcount of item1 returns 3 renews left"
324
);
325
326
AddRenewal( $borrower_id1, $item_id1, $samplebranch1->{branchcode},
327
    $datedue3, $daysago10 );
328
@renewcount = C4::Circulation::GetRenewCount($borrower_id1, $item_id1);
329
is_deeply(
330
    \@renewcount,
331
    [ 1, 3, 2 ],
332
    "With issuing rules (renewal allowed, 2 remaining) and with a valid parameter, Getrenewcount of item1 returns 2 renews left"
333
);
334
262
335
263
#End transaction
336
#End transaction
264
$dbh->rollback;
337
$dbh->rollback;
265
- 

Return to bug 10683