Bug 5327 shifting database dependent modules and scripts to t/db_dependent
[koha-ffzg.git] / t / db_dependent / lib / KohaTest / Members / DebarMember.pm
1 package KohaTest::Members::DebarMember;
2 use base qw( KohaTest::Members );
3
4 use strict;
5 use warnings;
6
7 use Test::More;
8
9 use C4::Members;
10 sub testing_class { 'C4::Members' };
11
12
13 sub simple_usage : Test( 6 ) {
14     my $self = shift;
15
16     ok( $self->{'memberid'}, 'we have a valid memberid to test with' );
17
18     my $details = C4::Members::GetMemberDetails( $self->{'memberid'} );
19     ok(     exists $details->{'flags'},                  'member details has a "flags" attribute');
20     isa_ok( $details->{'flags'},                 'HASH', 'the "flags" attribute is a hashref');
21     ok(     ! $details->{'flags'}->{'DBARRED'},          'this member is NOT debarred' );
22
23     # Now, let's debar this member and see what happens
24     my $success = C4::Members::DebarMember( $self->{'memberid'} );
25
26     ok( $success, 'we were able to debar the member' );
27     
28     $details = C4::Members::GetMemberDetails( $self->{'memberid'} );
29     ok( $details->{'flags'}->{'DBARRED'},         'this member is debarred now' )
30       or diag( Data::Dumper->Dump( [ $details->{'flags'} ], [ 'flags' ] ) );
31 }
32
33 sub incorrect_usage : Test( 2 ) {
34     my $self = shift;
35
36     my $result = C4::Members::DebarMember();
37     ok( ! defined $result, 'DebarMember returns undef when passed no parameters' );
38
39     $result = C4::Members::DebarMember( 'this is not a borrowernumber' );
40     ok( ! defined $result, 'DebarMember returns undef when not passed a numeric argument' );
41
42 }
43
44 1;