Lines 1038-1046
subtest 'GetBudgetSpent and GetBudgetOrdered and GetBudgetHierarchy shipping and
Link Here
|
1038 |
|
1038 |
|
1039 |
}; |
1039 |
}; |
1040 |
|
1040 |
|
1041 |
subtest 'GetBudgetSpent GetBudgetOrdered GetBudgetsPlanCell tests' => sub { |
1041 |
subtest 'GetBudgetSpent GetBudgetOrdered GetBudgetsPlanCell FieldsForCalculatingFundValues tests' => sub { |
1042 |
|
1042 |
|
1043 |
plan tests => 24; |
1043 |
plan tests => 34; |
1044 |
|
1044 |
|
1045 |
#Let's build an order, we need a couple things though |
1045 |
#Let's build an order, we need a couple things though |
1046 |
t::lib::Mocks::mock_preference('OrderPriceRounding','nearest_cent'); |
1046 |
t::lib::Mocks::mock_preference('OrderPriceRounding','nearest_cent'); |
Lines 1208-1213
subtest 'GetBudgetSpent GetBudgetOrdered GetBudgetsPlanCell tests' => sub {
Link Here
|
1208 |
is ( @$gbh[0]->{budget_spent}+0, 78.8, "We expect this to be a rounded order cost * quantity"); |
1208 |
is ( @$gbh[0]->{budget_spent}+0, 78.8, "We expect this to be a rounded order cost * quantity"); |
1209 |
is ( @$gbh[0]->{budget_ordered}, 78.8, "We expect this to be a rounded order cost * quantity"); |
1209 |
is ( @$gbh[0]->{budget_ordered}, 78.8, "We expect this to be a rounded order cost * quantity"); |
1210 |
|
1210 |
|
|
|
1211 |
# Test GetBudgetSpent(), GetBudgetOrdered() and GetBudgetHierarchy() with the |
1212 |
# CalculateFundValuesIncludingTax system preference |
1213 |
my $spent_orderinfo_2 = { |
1214 |
basketno => $spent_basket->{basketno}, |
1215 |
booksellerid => $spent_vendor->{id}, |
1216 |
rrp => 16.99, |
1217 |
discount => .42, |
1218 |
ecost => 16.91, |
1219 |
biblionumber => $item_1->biblionumber, |
1220 |
currency => $spent_currency->{currency}, |
1221 |
tax_rate_on_ordering => 0.15, |
1222 |
tax_value_on_ordering => 0, |
1223 |
tax_rate_on_receiving => 0.15, |
1224 |
tax_value_on_receiving => 0, |
1225 |
quantity => 8, |
1226 |
quantityreceived => 0, |
1227 |
datecancellationprinted => undef, |
1228 |
datereceived => undef, |
1229 |
budget_id => $spent_budget->{budget_id}, |
1230 |
sort1 => $spent_sort1->{authorised_value}, |
1231 |
}; |
1232 |
|
1233 |
# Do some maths |
1234 |
my $spent_order_obj_2 = Koha::Acquisition::Order->new($spent_orderinfo_2); |
1235 |
$spent_order_obj_2->populate_with_prices_for_ordering(); |
1236 |
$spent_orderinfo_2 = $spent_order_obj_2->unblessed(); |
1237 |
|
1238 |
#Place the order |
1239 |
my $spent_order_2 = $builder->build({ source => 'Aqorder', value => $spent_orderinfo_2 }); |
1240 |
|
1241 |
t::lib::Mocks::mock_preference('CalculateFundValuesIncludingTax', '0'); |
1242 |
$spent_ordered = GetBudgetOrdered( $spent_order->{budget_id} ); |
1243 |
is ( $spent_ordered, 147.36, "We expect this to be the tax exclusive value" ); |
1244 |
|
1245 |
t::lib::Mocks::mock_preference('CalculateFundValuesIncludingTax', '1'); |
1246 |
$spent_ordered = GetBudgetOrdered( $spent_order->{budget_id} ); |
1247 |
is ( $spent_ordered, 157.6, "We expect this to be the tax exclusive value" ); |
1248 |
|
1249 |
# Receive the order |
1250 |
$spent_orderinfo_2->{unitprice} = 9.85; #we are paying what we expected |
1251 |
|
1252 |
#Do our maths |
1253 |
$spent_order_obj_2 = Koha::Acquisition::Order->new($spent_orderinfo_2); |
1254 |
$spent_order_obj_2->populate_with_prices_for_receiving(); |
1255 |
$spent_orderinfo_2 = $spent_order_obj_2->unblessed(); |
1256 |
my $received_order_2 = $builder->build({ source => 'Aqorder', value => $spent_orderinfo_2 }); |
1257 |
|
1258 |
#Receive a copy of the order |
1259 |
ModReceiveOrder({ |
1260 |
biblionumber => $spent_order_2->{biblionumber}, |
1261 |
order => $received_order_2, |
1262 |
invoice => $spent_invoice, |
1263 |
quantityreceived => $spent_order_2->{quantity}, |
1264 |
budget_id => $spent_order_2->{budget_id}, |
1265 |
received_items => [], |
1266 |
}); |
1267 |
|
1268 |
t::lib::Mocks::mock_preference('CalculateFundValuesIncludingTax', '0'); |
1269 |
$spent_spent = GetBudgetSpent( $spent_order_2->{budget_id} ); |
1270 |
is ( $spent_spent, 147.36, "We expect this to be the tax exclusive value" ); |
1271 |
$gbh = GetBudgetHierarchy($spent_budget->{budget_period_id}); |
1272 |
is ( @$gbh[0]->{budget_spent}, 147.36, "We expect this value to be the tax exclusive value"); |
1273 |
|
1274 |
t::lib::Mocks::mock_preference('CalculateFundValuesIncludingTax', '1'); |
1275 |
$spent_spent = GetBudgetSpent( $spent_order_2->{budget_id} ); |
1276 |
is ( $spent_spent, 157.6 , "We expect this to be the tax exclusive value" ); |
1277 |
$gbh = GetBudgetHierarchy($spent_budget->{budget_period_id}); |
1278 |
is ( @$gbh[0]->{budget_spent}, 157.6, "We expect this value to be the tax exclusive value"); |
1279 |
|
1280 |
# Test FieldsForCalculatingFundValues() |
1281 |
t::lib::Mocks::mock_preference('CalculateFundValuesIncludingTax', '1'); |
1282 |
my ( $unitprice_field, $ecost_field ) = C4::Budgets->FieldsForCalculatingFundValues(); |
1283 |
is ( $unitprice_field, 'unitprice_tax_included', "We expect this to be unitprice_tax_included" ); |
1284 |
is ( $ecost_field, 'ecost_tax_included', "We expect this to be ecost_tax_included" ); |
1285 |
t::lib::Mocks::mock_preference('CalculateFundValuesIncludingTax', '0'); |
1286 |
( $unitprice_field, $ecost_field ) = C4::Budgets->FieldsForCalculatingFundValues(); |
1287 |
is ( $unitprice_field, 'unitprice_tax_excluded', "We expect this to be unitprice_tax_excluded" ); |
1288 |
is ( $ecost_field, 'ecost_tax_excluded', "We expect this to be ecost_tax_excluded" ); |
1289 |
|
1211 |
}; |
1290 |
}; |
1212 |
|
1291 |
|
1213 |
sub _get_dependencies { |
1292 |
sub _get_dependencies { |
1214 |
- |
|
|