From 403e99e50627cc101905e11a09a49933dc32f1b6 Mon Sep 17 00:00:00 2001
From: Jonathan Druart <jonathan.druart@biblibre.com>
Date: Thu, 28 Mar 2013 11:19:39 +0100
Subject: [PATCH] [PASSED QA] Bug 9811: Add unit tests for
 C4::Utils::DT::Members

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
---
 C4/Utils/DataTables/Members.pm |    9 ++++++++-
 t/DataTables/Members.t         |   14 ++++++++++++++
 2 files changed, 22 insertions(+), 1 deletion(-)
 create mode 100644 t/DataTables/Members.t

diff --git a/C4/Utils/DataTables/Members.pm b/C4/Utils/DataTables/Members.pm
index b49a931..2f99d90 100644
--- a/C4/Utils/DataTables/Members.pm
+++ b/C4/Utils/DataTables/Members.pm
@@ -91,7 +91,14 @@ sub search {
         $limit = "LIMIT $dt_params->{iDisplayStart},$dt_params->{iDisplayLength}";
     }
 
-    my $query = join(" ", $select, $from, $where, $orderby, $limit);
+    my $query = join(
+        " ",
+        ($select ? $select : ""),
+        ($from ? $from : ""),
+        ($where ? $where : ""),
+        ($orderby ? $orderby : ""),
+        ($limit ? $limit : "")
+    );
     my $sth = $dbh->prepare($query);
     $sth->execute(@where_args);
     my $patrons = $sth->fetchall_arrayref({});
diff --git a/t/DataTables/Members.t b/t/DataTables/Members.t
new file mode 100644
index 0000000..942f93f
--- /dev/null
+++ b/t/DataTables/Members.t
@@ -0,0 +1,14 @@
+use Modern::Perl;
+use Test::More tests => 4;
+
+use_ok( "C4::Utils::DataTables::Members" );
+
+my $patrons = C4::Utils::DataTables::Members::search({
+    searchmember => "Doe",
+    searchfieldstype => 'standard',
+    searchtype => 'contains'
+});
+
+isnt( $patrons->{iTotalDisplayRecords}, undef, "The iTotalDisplayRecords key is defined");
+isnt( $patrons->{iTotalRecords}, undef, "The iTotalRecords key is defined");
+is( ref $patrons->{patrons}, 'ARRAY', "The patrons key is an arrayref");
-- 
1.7.9.5