Bug 9937: Add new unit tests for new routines (introduced by bug 5343)
authorJonathan Druart <jonathan.druart@biblibre.com>
Wed, 27 Mar 2013 14:14:26 +0000 (15:14 +0100)
committerJared Camins-Esakov <jcamins@cpbibliography.com>
Sat, 30 Mar 2013 21:05:15 +0000 (17:05 -0400)
New unit tests for 4 routines:
- C4::Serials::subscriptionCurrentlyOnOrder
- C4::Acquisition::GetLastOrderNotReceivedFromSubscriptionid
- C4::Acquisition::GetLastOrderReceivedFromSubscriptionid
- C4::Budgets::GetBudgetName

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Fixed a tab in t/db/dependent/Budgets.t
All tests, new db_dependent tests and QA script pass. Thx Jonathan!
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
t/db_dependent/Acquisition/OrderFromSubscription.t [new file with mode: 0644]
t/db_dependent/Budgets.t

diff --git a/t/db_dependent/Acquisition/OrderFromSubscription.t b/t/db_dependent/Acquisition/OrderFromSubscription.t
new file mode 100644 (file)
index 0000000..91936a8
--- /dev/null
@@ -0,0 +1,79 @@
+use Modern::Perl;
+
+use Test::More tests => 10;
+use Data::Dumper;
+
+use_ok('C4::Serials');
+use_ok('C4::Budgets');
+use_ok('C4::Acquisition');
+my $supplierlist=eval{GetSuppliersWithLateIssues()};
+ok(length($@)==0,"No SQL problem in GetSuppliersWithLateIssues");
+
+my $biblionumber = 1;
+my $budgetid;
+my $bpid = AddBudgetPeriod({
+    budget_period_startdate => '01-01-2015',
+    budget_period_enddate   => '31-12-2015',
+    budget_description      => "budget desc"
+});
+
+my $budget_id = AddBudget({
+    budget_code        => "ABCD",
+    budget_amount      => "123.132",
+    budget_name        => "Périodiques",
+    budget_notes       => "This is a note",
+    budget_description => "Serials",
+    budget_active      => 1,
+    budget_period_id   => $bpid
+});
+
+my $subscriptionid = NewSubscription(
+    undef,      "",     undef, undef, $budget_id, $biblionumber, '01-01-2013',undef,
+    undef,      undef,  undef, undef, undef,      undef,         undef,  undef,
+    undef,      undef,  undef, undef, undef,      undef,         undef,  undef,
+    undef,      undef,  undef, undef, undef,      undef,         undef,  1,
+    "notes",    undef,  undef, undef, undef,      undef,         undef,  0,
+    "intnotes", 0,      undef, undef, 0,          undef,         '31-12-2013',
+);
+die unless $subscriptionid;
+my $cost = 42.00;
+my $subscription = GetSubscription( $subscriptionid );
+my ( $basketno, $ordernumber ) = NewOrder({
+    biblionumber => $subscription->{biblionumber},
+    entrydate => '01-01-2013',
+    quantity => 1,
+    currency => 'USD',
+    listprice => $cost,
+    notes => "This is a note",
+    basketno => 1,
+    rrp => $cost,
+    ecost => $cost,
+    gstrate => 0.0500,
+    orderstatus => 0,
+    subscriptionid => $subscription->{subscriptionid},
+    budget_id => $budget_id,
+});
+
+my $is_currently_on_order = subscriptionCurrentlyOnOrder( $subscription->{subscriptionid} );
+is ( $is_currently_on_order, 1, "The subscription is currently on order");
+
+my $order = GetLastOrderNotReceivedFromSubscriptionid( $subscription->{subscriptionid} );
+is ( $order->{subscriptionid}, $subscription->{subscriptionid}, "test subscriptionid for the last order not received");
+ok( $order->{ecost} == $cost, "test cost for the last order not received");
+
+my ( $datereceived, $new_ordernumber ) = ModReceiveOrder(
+    $biblionumber, $ordernumber, 1, undef, $cost, $cost,
+    undef, $cost, $budget_id, '02-01-2013', undef);
+
+$order = GetLastOrderReceivedFromSubscriptionid( $subscription->{subscriptionid} );
+is ( $order->{subscriptionid}, $subscription->{subscriptionid}, "test subscriptionid for the last order received");
+ok( $order->{ecost} == $cost, "test cost for the last order received");
+
+$order = GetLastOrderNotReceivedFromSubscriptionid( $subscription->{subscriptionid} );
+is ( $order, undef, "test no not received order for a received order");
+
+# cleaning
+DelSubscription( $subscription->{subscriptionid} );
+DelOrder( $subscription->{biblionumber}, $ordernumber );
+DelBudgetPeriod($bpid);
+DelBudget($budget_id);
index 6ec8b57..717f8fe 100755 (executable)
@@ -1,9 +1,8 @@
 use strict;
 use warnings;
-use Test::More tests=>17;
+use Test::More tests=>18;
 
 BEGIN {use_ok('C4::Budgets') }
-use C4::Budgets;
 use C4::Dates;
 
 use YAML;
@@ -99,7 +98,9 @@ ok(GetBudgets({budget_period_id=>$bpid},[{"budget_name"=>0}])>0,
 ok(GetBudgets({budget_period_id=>GetBudgetPeriod($bpid)->{budget_period_id}},[{"budget_name"=>0}])>0,
        "GetBudgets With Order 
        Getting Active budgetPeriod OK");
-ok($del_status=DelBudget($budget_id),
-       "DelBudget returned $del_status");
 
+my $budget_name = GetBudgetName( $budget_id );
+is($budget_name, $budget->{budget_name}, "Test the GetBudgetName routine");
 
+ok($del_status=DelBudget($budget_id),
+    "DelBudget returned $del_status");