4 use C4::Circulation qw( AddOfflineOperation GetOfflineOperation GetOfflineOperations DeleteOfflineOperation );
7 use Koha::DateUtils qw( dt_from_string output_pref );
10 use Test::More tests => 7;
13 use_ok('C4::Circulation', qw( AddOfflineOperation GetOfflineOperation GetOfflineOperations DeleteOfflineOperation ));
21 DeleteOfflineOperation
25 my $schema = Koha::Database->new->schema;
26 $schema->storage->txn_begin;
27 my $dbh = C4::Context->dbh;
29 $dbh->do(q|DELETE FROM issues|);
30 $dbh->do(q|DELETE FROM borrowers|);
31 $dbh->do(q|DELETE FROM items|);
32 $dbh->do(q|DELETE FROM branches|);
33 $dbh->do(q|DELETE FROM pending_offline_operations|);
38 branchname => 'Sample Branch',
39 branchaddress1 => 'sample adr1',
40 branchaddress2 => 'sample adr2',
41 branchaddress3 => 'sample adr3',
42 branchzip => 'sample zip',
43 branchcity => 'sample city',
44 branchstate => 'sample state',
45 branchcountry => 'sample country',
46 branchphone => 'sample phone',
47 branchfax => 'sample fax',
48 branchemail => 'sample email',
49 branchurl => 'sample url',
50 branchip => 'sample ip',
52 Koha::Library->new($samplebranch1)->store;
54 my $now = dt_from_string->truncate( to => 'minute' );
57 #Test AddOfflineOperation
60 'User1', $samplebranch1->{branchcode},
61 $now, 'Action1', 'CODE', 'Cardnumber1', 10
64 "OfflineOperation has been added"
67 $dbh->last_insert_id( undef, undef, 'pending_offline_operations', undef );
69 #Test GetOfflineOperations
71 GetOfflineOperation($offline_id),
73 operationid => $offline_id,
75 branchcode => $samplebranch1->{branchcode},
76 # FIXME sounds like we need a 'timestamp' dateformat
77 timestamp => output_pref({ dt => $now, dateformat => 'iso', dateonly => 0 }) . ':00',
80 cardnumber => 'Cardnumber1',
83 "GetOffline returns offlineoperation's informations"
85 is( GetOfflineOperation(), undef,
86 'GetOfflineOperation without parameters returns undef' );
87 is( GetOfflineOperation(-1), undef,
88 'GetOfflineOperation with wrong parameters returns undef' );
90 #Test GetOfflineOperations
91 #TODO later: test GetOfflineOperations
92 # Actually we cannot mock C4::Context->userenv in unit tests
94 #Test DeleteOfflineOperation
95 is( DeleteOfflineOperation($offline_id),
96 'Deleted.', 'Offlineoperation has been deleted' );
98 #is (DeleteOfflineOperation(), undef, 'DeleteOfflineOperation without id returns undef');
99 #is (DeleteOfflineOperation(-1),undef, 'DeleteOfflineOperation with a wrong id returns undef');#FIXME