SIP/t - test files adapted, supplemented, expanded. Note: requires matching data...
[koha.git] / C4 / SIP / t / 01patron_status.t
1 #!/usr/bin/perl
2
3 # patron_status: check status of valid patron and invalid patron
4
5 use strict;
6 use warnings;
7
8 use Sip::Constants qw(:all);
9 use SIPtest qw($datepat $instid $currency :user1);
10
11 my @tests = (
12              $SIPtest::login_test,
13              $SIPtest::sc_status_test,
14              { id => 'valid Patron Status',
15                msg => "2300120060101    084237AO$instid|AA$user_barcode|AD$user_pin|AC|",
16                pat => qr/^24 [ Y]{13}\d{3}$datepat/,
17                fields => [
18                           $SIPtest::field_specs{(FID_INST_ID)},
19                           $SIPtest::field_specs{(FID_SCREEN_MSG)},
20                           $SIPtest::field_specs{(FID_PRINT_LINE)},
21                           { field    => FID_PERSONAL_NAME,
22                             pat      => qr/^$user_fullname$/o,
23                             required => 1, },
24                           { field    => FID_PATRON_ID,
25                             pat      => qr/^$user_barcode/o,
26                             required => 1, },
27                           { field    => FID_VALID_PATRON,
28                             pat      => qr/^Y$/,
29                             required => 0, },
30                           { field    => FID_VALID_PATRON_PWD,
31                             pat      => qr/^Y$/,
32                             required => 0, },
33                           { field    => FID_CURRENCY,
34                             pat      => qr/^$currency$/io,
35                             required => 0, },
36                           { field    => FID_FEE_AMT,
37                             pat      => qr/^[0-9.]+$/,
38                             required => 0, },
39                           ], },
40              { id => 'invalid password Patron Status',
41                msg => "2300120060101    084237AO$instid|AA$user_barcode|AC|ADbadw|",
42                pat => qr/^24[ Y]{14}\d{3}$datepat/,
43                fields => [
44                           { field    => FID_PERSONAL_NAME,
45                             pat      => qr/^$user_fullname$/o,
46                             required => 1, },
47                           { field    => FID_PATRON_ID,
48                             pat      => qr/^$user_barcode$/o,
49                             required => 1, },
50                           { field    => FID_INST_ID,
51                             pat      => qr/^$instid$/o,
52                             required => 1, },
53                           { field    => FID_VALID_PATRON_PWD,
54                             pat      => qr/^N$/,
55                             required => 1, },
56                           { field    => FID_VALID_PATRON,
57                             pat      => qr/^Y$/,
58                             required => 1, },
59                           ], },
60              { id => 'invalid Patron Status',
61                msg => "2300120060101    084237AO$instid|AAwshakespeare|AC|",
62                pat => qr/^24Y[ Y]{13}\d{3}$datepat/,
63                fields => [
64                           { field    => FID_PERSONAL_NAME,
65                             pat      => qr/^$/,
66                             required => 1, },
67                           { field    => FID_PATRON_ID,
68                             pat      => qr/^wshakespeare$/,
69                             required => 1, },
70                           { field    => FID_INST_ID,
71                             pat      => qr/^$instid$/o,
72                             required => 1, },
73                           ], },
74              );
75
76 SIPtest::run_sip_tests(@tests);
77
78 1;