fee8c60dc7
I'm adding some tests for C4::Circulation methods that I'm altering to allow the offline circulation tool to use C4::Circulation to upload its data. These test a bit of the old functionality and try to show that the new functionality does what I think it does. C4::Circ::Addissue to tests issuedate these also test AddRenewal. tests for C4::Circ::MarkIssueReturned Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
103 lines
3.2 KiB
Perl
103 lines
3.2 KiB
Perl
package KohaTest::Dates::Usage;
|
|
use base qw( KohaTest::Dates );
|
|
|
|
use strict;
|
|
use warnings;
|
|
|
|
use Test::More;
|
|
|
|
use C4::Dates qw(format_date format_date_in_iso);
|
|
|
|
|
|
sub startup_init_constants : Tests(startup => 0) {
|
|
my $self = shift;
|
|
$self->{thash} = {
|
|
iso => [ '2001-01-01', '1989-09-21', '1952-01-00' ],
|
|
metric => [ "01-01-2001", '21-09-1989', '00-01-1952' ],
|
|
us => [ "01-01-2001", '09-21-1989', '01-00-1952' ],
|
|
sql => [ '20010101 010101', '19890921 143907', '19520100 000000' ],
|
|
};
|
|
$self->{formats} = [ sort keys %{ $self->{thash} } ];
|
|
}
|
|
|
|
sub check_formats : Test( 8 ) {
|
|
my $self = shift;
|
|
|
|
my $syspref = C4::Dates->new->format();
|
|
ok( $syspref, "Your system preference is: $syspref" );
|
|
|
|
foreach ( @{ $self->{thash}->{'iso'} } ) {
|
|
ok( format_date($_), "able to format_date() on $_" );
|
|
}
|
|
|
|
foreach ( @{ $self->{thash}->{$syspref} } ) {
|
|
ok( format_date_in_iso($_), "able to format_date_in_iso() on $_" );
|
|
}
|
|
ok( C4::Dates->today(), "(default) CLASS ->today : " . C4::Dates->today() );
|
|
}
|
|
|
|
sub defaults : Test( 24 ) {
|
|
my $self = shift;
|
|
|
|
foreach (@{ $self->{formats} }) {
|
|
my $pre = sprintf '(%-6s)', $_;
|
|
my $date = C4::Dates->new();
|
|
ok( $date, "$pre Date Creation : new()" );
|
|
isa_ok( $date, 'C4::Dates' );
|
|
ok( $_ eq $date->format($_), "$pre format($_) : " );
|
|
ok( $date->visual(), "$pre visual()" );
|
|
ok( $date->output(), "$pre output()" );
|
|
ok( $date->today(), "$pre object->today" );
|
|
|
|
}
|
|
}
|
|
|
|
sub valid_inputs : Test( 108 ) {
|
|
my $self = shift;
|
|
|
|
foreach my $format (@{ $self->{formats} }) {
|
|
my $pre = sprintf '(%-6s)', $format;
|
|
foreach my $testval ( @{ $self->{thash}->{$format} } ) {
|
|
my ( $val, $today );
|
|
my $date = C4::Dates->new( $testval, $format );
|
|
ok( $date, "$pre Date Creation : new('$testval','$format')" );
|
|
isa_ok( $date, 'C4::Dates' );
|
|
ok( $date->regexp, "$pre has regexp()" );
|
|
ok( $val = $date->output(), describe( "$pre output()", $val ) );
|
|
foreach ( grep { !/$format/ } @{ $self->{formats} } ) {
|
|
ok( $today = $date->output($_), describe( sprintf( "$pre output(%8s)", "'$_'" ), $today ) );
|
|
}
|
|
ok( $today = $date->today(), describe( "$pre object->today", $today ) );
|
|
ok( $val = $date->output(), describe( "$pre output()", $val ) );
|
|
}
|
|
}
|
|
}
|
|
|
|
sub independence_from_class : Test( 1 ) {
|
|
my $self = shift;
|
|
|
|
my $in1 = '12/25/1952'; # us
|
|
my $in2 = '13/01/2001'; # metric
|
|
my $d1 = C4::Dates->new( $in1, 'us' );
|
|
my $d2 = C4::Dates->new( $in2, 'metric' );
|
|
my $out1 = $d1->output('iso');
|
|
my $out2 = $d2->output('iso');
|
|
ok( $out1 ne $out2, "subsequent constructors get different dataspace ($out1 != $out2)" );
|
|
|
|
}
|
|
|
|
|
|
|
|
sub describe {
|
|
my $front = sprintf( "%-25s", shift );
|
|
my $tail = shift || 'FAILED';
|
|
return "$front : $tail";
|
|
}
|
|
|
|
sub shutdown_clear_constants : Tests( shutdown => 0 ) {
|
|
my $self = shift;
|
|
delete $self->{thash};
|
|
delete $self->{formats};
|
|
}
|
|
|
|
1;
|