Merge branch 'bug_7368' into 3.14-master
[koha.git] / t / db_dependent / Budgets.t
1 use strict;
2 use warnings;
3 use Test::More tests=>18;
4
5 BEGIN {use_ok('C4::Budgets') }
6 use C4::Dates;
7
8 use YAML;
9
10 #
11 # Budget Periods :
12 #
13 my $bpid;
14 my $budgetperiod;
15 my $active_period;
16 my $mod_status;
17 my $del_status;
18 ok($bpid=AddBudgetPeriod(
19                                                 { budget_period_startdate       => '2008-01-01'
20                                                 , budget_period_enddate         => '2008-12-31'
21                                                 , budget_description            => "MAPERI"}),
22         "AddBudgetPeriod with iso dates OK");
23
24 ok($budgetperiod=GetBudgetPeriod($bpid),
25         "GetBudgetPeriod($bpid) returned ".Dump($budgetperiod));
26 ok(!GetBudgetPeriod(0) ,"GetBudgetPeriod(0) returned undef : noactive BudgetPeriod");
27 $$budgetperiod{budget_period_active}=1;
28 ok($mod_status=ModBudgetPeriod($budgetperiod),"ModBudgetPeriod OK");
29 ok($active_period=GetBudgetPeriod(0),"GetBudgetPeriod(0) returned".Dump($active_period));
30 ok(scalar(GetBudgetPeriods())>0,"GetBudgetPeriods OK");#Should at least return the Budget inserted
31 ok($del_status=DelBudgetPeriod($bpid),"DelBudgetPeriod returned $del_status");
32
33 #
34 # Budget  :
35 #
36
37 # Add A budget Period
38 if (C4::Context->preference('dateformat') eq "metric"){
39 ok($bpid=AddBudgetPeriod(
40                                                 { budget_period_startdate       =>'01-01-2008'
41                                                 , budget_period_enddate         =>'31-12-2008'
42                                                 , budget_description            =>"MAPERI"}),
43         "AddBudgetPeriod returned $bpid");
44 } elsif (C4::Context->preference('dateformat') eq "us"){
45 ok($bpid=AddBudgetPeriod(
46                                                 { budget_period_startdate       =>'01-01-2008'
47                                                 , budget_period_enddate         =>'12-31-2008'
48                                                 , budget_description            =>"MAPERI"}),
49         "AddBudgetPeriod returned $bpid");
50 }
51 else{
52 ok($bpid=AddBudgetPeriod(
53                                                 {budget_period_startdate=>'2008-01-01'
54                                                 ,budget_period_enddate  =>'2008-12-31'
55                                                 ,budget_description             =>"MAPERI"
56                                                 }),
57         "AddBudgetPeriod returned $bpid");
58
59 }
60 my $budget_id;
61 ok($budget_id=AddBudget(
62                                                 {   budget_code                 => "ABCD"
63                                                         , budget_amount         => "123.132"
64                                                         , budget_name           => "Périodiques"
65                                                         , budget_notes          => "This is a note"
66                                                         , budget_description=> "Serials"
67                                                         , budget_active         => 1
68                                                         , budget_period_id      => $bpid
69                                                 }
70                                            ),
71         "AddBudget returned $budget_id");
72 #budget_code            | varchar(30)   | YES  |     | NULL              |       | 
73 #| budget_amount          | decimal(28,6) | NO   |     | 0.000000          |       | 
74 #| budget_id              | int(11)       | NO   | PRI | NULL              |       | 
75 #| budget_branchcode      | varchar(10)   | YES  |     | NULL              |       | 
76 #| budget_parent_id       | int(11)       | YES  |     | NULL              |       | 
77 #| budget_name            | varchar(80)   | YES  |     | NULL              |       | 
78 #| budget_encumb          | decimal(28,6) | YES  |     | 0.000000          |       | 
79 #| budget_expend          | decimal(28,6) | YES  |     | 0.000000          |       | 
80 #| budget_notes           | mediumtext    | YES  |     | NULL              |       | 
81 #| timestamp              | timestamp     | NO   |     | CURRENT_TIMESTAMP |       | 
82 #| budget_period_id       | int(11)       | YES  | MUL | NULL              |       | 
83 #| sort1_authcat          | varchar(80)   | YES  |     | NULL              |       | 
84 #| sort2_authcat          | varchar(80)   | YES  |     | NULL              |       | 
85 #| budget_owner_id        | int(11)       | YES  |     | NULL              |       | 
86 #| budget_permission      | int(1)        | YES  |     | 0                 |       | 
87
88 my $budget;
89 ok($budget=GetBudget($budget_id) ,"GetBudget OK");
90 $$budget{budget_permission}=1;
91 ok($mod_status=ModBudget($budget),"ModBudget OK");
92 ok(GetBudgets()>0,
93         "GetBudgets OK");
94 ok(GetBudgets({budget_period_id=>$bpid})>0,
95         "GetBudgets With Filter OK");
96 ok(GetBudgets({budget_period_id=>$bpid},[{"budget_name"=>0}])>0,
97         "GetBudgets With Order OK");
98 ok(GetBudgets({budget_period_id=>GetBudgetPeriod($bpid)->{budget_period_id}},[{"budget_name"=>0}])>0,
99         "GetBudgets With Order 
100         Getting Active budgetPeriod OK");
101
102 my $budget_name = GetBudgetName( $budget_id );
103 is($budget_name, $budget->{budget_name}, "Test the GetBudgetName routine");
104
105 ok($del_status=DelBudget($budget_id),
106     "DelBudget returned $del_status");