From f191230a4734a882eb0f36211d05251a741a51e1 Mon Sep 17 00:00:00 2001 From: djfiander Date: Wed, 31 May 2006 00:18:44 +0000 Subject: [PATCH] Initial set of tests for Renew --- t/09renew.t | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 t/09renew.t diff --git a/t/09renew.t b/t/09renew.t new file mode 100644 index 0000000..6fe1102 --- /dev/null +++ b/t/09renew.t @@ -0,0 +1,82 @@ +#!/usr/bin/perl +# renew: test Renew Response + +use strict; +use warnings; +use Clone qw(clone); + +use Sip::Constants qw(:all); + +use SIPtest qw($datepat $textpat); + +my $checkout_template = { + id => 'Renew: prep: check out item', + msg => '11YN20060329 203000 AOUWOLS|AAdjfiander|AB1565921879|AC|', + pat => qr/^121NNY$datepat/, +}; + +my $checkin_template = { + id => 'Renew: prep: check in item', + msg => '09N20060102 08423620060113 084235APUnder the bed|AOUWOLS|AB1565921879|ACterminal password|', + pat => qr/^10YYNN$datepat/, +}; + +my $renew_test_template = { + id => 'Renew: item id checked out to patron, renewal permitted, no 3rd party, no fees', + msg => '29NN20060102 084236 AOUWOLS|AAdjfiander|AB1565921879|', + pat => qr/^301YNN$datepat/, + fields => [ + $SIPtest::field_specs{(FID_INST_ID)}, + $SIPtest::field_specs{(FID_SCREEN_MSG)}, + $SIPtest::field_specs{(FID_PRINT_LINE)}, + { field => FID_PATRON_ID, + pat => qr/^djfiander$/, + required => 1, }, + { field => FID_ITEM_ID, + pat => qr/^1565921879$/, + required => 1, }, + { field => FID_TITLE_ID, + pat => qr/^Perl 5 desktop reference$/, + required => 1, }, + { field => FID_DUE_DATE, + pat => qr/^$datepat$/, + required => 1, }, + { field => FID_SECURITY_INHIBIT, + pat => qr/^[YN]$/, + required => 0, }, + ],}; + +my @tests = ( + $SIPtest::login_test, + $SIPtest::sc_status_test, + $checkout_template, + $renew_test_template, + ); + +my $test; + +# Renew: item not checked out. Basically the same, except +# for the leader test. +$test = clone($renew_test_template); +$test->{id} = 'Renew: item not checked out at all'; +$test->{pat} = qr/^300NUN$datepat/; +foreach my $field (@{$test->{fields}}) { + if ($field->{field} eq FID_TITLE_ID || $field->{field} eq FID_DUE_DATE) { + $field->{pat} = qr/^$/; + } +} + +push @tests, $checkin_template, $test; + +# Still need tests for +# - renewing invalid item +# - invalid patron id +# - renewing via title id +# - renewing a for-fee item +# - patrons that are not permitted to renew +# - renewing item with outstanding hold +# - renewing item that has reached limit on number of renewals + +SIPtest::run_sip_tests(@tests); + +1; -- 2.11.0