Koha/t/lib/KohaTest/Members/DebarMember.pm
Andrew Moore 8ae66932cd Bug 2274 [3/5]: consolidating overdue notice cronjobs into one
This patch adds the misc/cronjobs/overdue_notices.pl script that is intended to replace
overduenotices.pl, overduenotices-30.pl and overduenotices-csv.pl. It adds messages to
the message_queue to be sent later (by process_message_queue.pl). It also marks borrowers
as debarred if their issues become too overdue.

It is intended to be run from cron nightly with usage something like:
0 2 * * * misc/cronjobs/overdue_notices.pl

C4::Members:
 - improved documentation on ModMember
 - made ModMember return a useful value (the return value of the database call)
 - added a DebarMember method
 - adding t/lib/KohaTest/Members/DebarMember.pm to test ModMember

misc/cronjobs/overdue_notices.pl
 - designed to replace overduenotices.pl, overduenotices-30.pl, and overduenotice-csv

Changes to C4::Letters:
 - EnqueueLetter now lets you pass in to_address and from_address which can override defaults
 - _send_message_by_email pays attention to these defaults.
 - now handles attachments with MIME::Lite

C4::Overdues
 - added GetBranchcodesWithOverdueRules
   - added t/lib/KohaTest/Overdues/GerBranchcodesWithOverdueRules.pm to test that.

circ/overdue.pl
 - replaced call to obsolete overduenotices-csv.pl with call to overdue_notices.pl

KohaTest:
 - added three helper methods: random_phone, random_email, random_ip
   - these can be used to populate example records
 - you can now pass an optional lengh to random_string

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-07-10 09:10:46 -05:00

44 lines
1.4 KiB
Perl

package KohaTest::Members::DebarMember;
use base qw( KohaTest::Members );
use strict;
use warnings;
use Test::More;
use C4::Members;
sub testing_class { 'C4::Members' };
sub simple_usage : Test( 6 ) {
my $self = shift;
ok( $self->{'memberid'}, 'we have a valid memberid to test with' );
my $details = C4::Members::GetMemberDetails( $self->{'memberid'} );
ok( exists $details->{'flags'}, 'member details has a "flags" attribute');
isa_ok( $details->{'flags'}, 'HASH', 'the "flags" attribute is a hashref');
ok( ! $details->{'flags'}->{'DBARRED'}, 'this member is NOT debarred' );
# Now, let's debar this member and see what happens
my $success = C4::Members::DebarMember( $self->{'memberid'} );
ok( $success, 'we were able to debar the member' );
$details = C4::Members::GetMemberDetails( $self->{'memberid'} );
ok( $details->{'flags'}->{'DBARRED'}, 'this member is debarred now' )
or diag( Data::Dumper->Dump( [ $details->{'flags'} ], [ 'flags' ] ) );
}
sub incorrect_usage : Test( 2 ) {
my $self = shift;
my $result = C4::Members::DebarMember();
ok( ! defined $result, 'DebarMember returns undef when passed no parameters' );
$result = C4::Members::DebarMember( 'this is not a borrowernumber' );
ok( ! defined $result, 'DebarMember returns undef when not passed a numeric argument' );
}
1;