From 31c48aaca94e472dd4179728bbe77c2fa05daae4 Mon Sep 17 00:00:00 2001 From: Bart Jorgensen Date: Thu, 23 Aug 2012 17:46:41 +1200 Subject: [PATCH] Bug 5327: Unit tests for C4 socialdata Signed-off-by: Jared Camins-Esakov --- t/SocialData.t | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 t/SocialData.t diff --git a/t/SocialData.t b/t/SocialData.t new file mode 100644 index 0000000..06705a5 --- /dev/null +++ b/t/SocialData.t @@ -0,0 +1,55 @@ +#!/usr/bin/perl +# +#Testing C4 SocialData + +use strict; +use warnings; +use Test::More tests => 5; +use Test::MockModule; + +BEGIN { + use_ok('C4::SocialData'); +} + +my $module = new Test::MockModule('C4::Context'); +$module->mock( + '_new_dbh', + sub { + my $dbh = DBI->connect( 'DBI:Mock:', '', '' ) + || die "Cannot create handle: $DBI::errstr\n"; + return $dbh; + } +); +my $socialdata = [ + [ + 'isbn', 'num_critics', + 'num_critics_pro', 'num_quotations', + 'num_videos', 'score_avg', + 'num_scores' + ], + [ '0-596-52674-1', 1, 2, 3, 4, 5.2, 6 ], + [ '0-596-00289-0', 2, 3, 4, 5, 6.2, 7 ] +]; +my $dbh = C4::Context->dbh(); + +$dbh->{mock_add_resultset} = $socialdata; + +my $data = C4::SocialData::get_data(); + +is( $data->{'isbn'}, '0-596-52674-1', 'First isbn is 0-596-52674-1' ); + +my $reportdata = + [ [ 'biblionumber', 'isbn' ], [ 1, '0-596-52674-1' ], + [ 2, '0-596-00289-0' ] ]; + +use Data::Dumper; + +$dbh->{mock_add_resultset} = $reportdata; + +ok( my $report = C4::SocialData::get_report() ); + +is( $report->{'without'}->[0]->{'original'}, + '0-596-52674-1', 'testing get_report gives isbn' ); + +is( $report->{'without'}->[0]->{'isbn'}, '9780596526740', + 'testing get_report' ); -- 1.7.10.4