patron info extensions for Envisionware
authorJason Etheridge <jason@EquinoxOLI.org>
Thu, 24 Nov 2022 15:44:15 +0000 (10:44 -0500)
committerJason Etheridge <jason@EquinoxOLI.org>
Thu, 24 Nov 2022 15:44:15 +0000 (10:44 -0500)
t/02patron_info.t
t/17extensions.t

index b33e149..74efc1c 100755 (executable)
@@ -74,10 +74,10 @@ my $patron_info_test_template = {
          required => 0, },
            { field    => FID_PATRON_BIRTHDATE,
          pat      => qr/^$user_birthday$/o,
-         required => 1, },
+         required => 0, }, # custom extension used by Envisionware
            { field    => FID_PATRON_CLASS,
          pat      => qr/^$user_ptype$/o,
-         required => 1, },
+         required => 0, }, # custom extension used by Envisionware
            { field    => FID_INET_PROFILE,
          pat      => qr/^$user_inet$/,
          required => 0, }, # this is a custom extension, not required by spec
index f8ba156..b65d69e 100755 (executable)
@@ -46,12 +46,12 @@ my $patron_info_test_template = {
         { field    => FID_HOME_PHONE,
             pat      => qr/^$user_phone$/o,
             required => 1, },
-        { field    => FID_PATRON_BIRTHDATE,
-            pat      => qr/^$user_birthday$/o,
-            required => 1, },
-        { field    => FID_PATRON_CLASS,
-            pat      => qr/^$user_ptype$/o,
-            required => 1, },
+        #{ field    => FID_PATRON_BIRTHDATE,
+        #    pat      => qr/^$user_birthday$/o,
+        #    required => 1, },
+        #{ field    => FID_PATRON_CLASS,
+        #    pat      => qr/^$user_ptype$/o,
+        #    required => 1, },
         #{ field    => FID_INET_PROFILE,
         #   pat      => qr/^$user_inet$/,
         #   required => 1, },
@@ -92,6 +92,30 @@ sub create_patron_info_extension_tests {
         pat      => qr/^$user_homelib$/,
         required => 1, };
     push @tests, $test;
+
+    $test = clone($patron_info_test_template);
+    $test->{id} = "Patron Info birthdate extension";
+    push @{$test->{fields}}, {
+        field    => FID_PATRON_BIRTHDATE,
+        pat      => qr/^$user_birthday$/o,
+        required => 1, };
+    push @tests, $test;
+
+    $test = clone($patron_info_test_template);
+    $test->{id} = "Patron Info class/profile extension";
+    push @{$test->{fields}}, {
+        field    => FID_PATRON_CLASS,
+        pat      => qr/^$user_ptype$/o,
+        required => 1, };
+    push @tests, $test;
+
+    $test = clone($patron_info_test_template);
+    $test->{id} = "Patron Info expiration date extension";
+    push @{$test->{fields}}, {
+        field    => FID_PATRON_EXPIRE,
+        pat      => qr/^20\d\d\d\d\d\d$/o, # presumably this date format works for Envisionware
+        required => 1, };
+    push @tests, $test;
 }
 
 create_patron_info_extension_tests();