From 5b3f8b29134957fa329ffaafa8af9b249e1b4851 Mon Sep 17 00:00:00 2001
From: Kyle M Hall <kyle@bywatersolutions.com>
Date: Thu, 1 Jan 2015 19:18:18 -0500
Subject: [PATCH] Bug 12933 [QA Followup] - Add Unit Tests

---
 t/db_dependent/Members/GetOverdues.t |   64 ++++++++++++++++++++++++++++++++++
 1 files changed, 64 insertions(+), 0 deletions(-)
 create mode 100644 t/db_dependent/Members/GetOverdues.t

diff --git a/t/db_dependent/Members/GetOverdues.t b/t/db_dependent/Members/GetOverdues.t
new file mode 100644
index 0000000..d779967
--- /dev/null
+++ b/t/db_dependent/Members/GetOverdues.t
@@ -0,0 +1,64 @@
+#!/usr/bin/perl
+
+use Modern::Perl;
+
+use Test::More tests => 3;
+use Test::MockModule;
+
+use C4::Biblio;
+use C4::Items;
+use C4::Members;
+use C4::Branch;
+use C4::Category;
+use C4::Circulation;
+use MARC::Record;
+
+my $dbh = C4::Context->dbh;
+$dbh->{AutoCommit} = 0;
+$dbh->{RaiseError} = 1;
+
+$dbh->do(q|DELETE FROM issues|);
+$dbh->do(q|DELETE FROM borrowers|);
+$dbh->do(q|DELETE FROM items|);
+$dbh->do(q|DELETE FROM branches|);
+$dbh->do(q|DELETE FROM biblio|);
+$dbh->do(q|DELETE FROM categories|);
+
+my $branchcode = 'B';
+ModBranch( { add => 1, branchcode => $branchcode, branchname => 'Branch' } );
+
+my $categorycode = 'C';
+$dbh->do( "INSERT INTO categories(categorycode) VALUES(?)",
+    undef, $categorycode );
+
+my %item_branch_infos = (
+    homebranch    => $branchcode,
+    holdingbranch => $branchcode,
+);
+
+my ($biblionumber1) = AddBiblio( MARC::Record->new, '' );
+my $itemnumber1 =
+  AddItem( { barcode => '0101', %item_branch_infos }, $biblionumber1 );
+my $itemnumber2 =
+  AddItem( { barcode => '0102', %item_branch_infos }, $biblionumber1 );
+
+my ($biblionumber2) = AddBiblio( MARC::Record->new, '' );
+my $itemnumber3 =
+  AddItem( { barcode => '0103', %item_branch_infos }, $biblionumber2 );
+
+my $borrowernumber =
+  AddMember( categorycode => $categorycode, branchcode => $branchcode );
+my $borrower = GetMember( borrowernumber => $borrowernumber );
+
+my $module = new Test::MockModule('C4::Context');
+$module->mock( 'userenv', sub { { branch => $branchcode } } );
+
+AddIssue( $borrower, '0101', DateTime->now->subtract( days =>  1 ) );
+AddIssue( $borrower, '0102', DateTime->now->subtract( days =>  5 ) );
+AddIssue( $borrower, '0103' );
+
+my $overdues = C4::Members::GetOverdues( $borrowernumber );
+is( @$overdues, 2, 'GetOverdues returns the correct number of elements' );
+is( $overdues->[0]->{itemnumber}, $itemnumber1, 'First overdue is correct' );
+is( $overdues->[1]->{itemnumber}, $itemnumber2, 'Second overdue is correct' );
+
-- 
1.7.2.5