-SKIP: {
- skip 'No relevant orders in database, cannot test baskets', 33 unless( scalar @$orders );
- # diag( Data::Dumper->Dump( [ $orders ], [ 'orders' ] ) );
- my @expectedfields = qw( basketno
- biblioitemnumber
- biblionumber
- booksellerinvoicenumber
- budgetdate
- cancelledby
- closedate
- creationdate
- currency
- datecancellationprinted
- datereceived
- ecost
- entrydate
- firstname
- freight
- gst
- listprice
- notes
- ordernumber
- purchaseordernumber
- quantity
- quantityreceived
- rrp
- serialid
- sort1
- sort2
- subscription
- supplierreference
- surname
- timestamp
- title
- totalamount
- unitprice );
- my $firstorder = $orders->[0];
- for my $field ( @expectedfields ) {
- ok( exists( $firstorder->{ $field } ), "This order has a $field field" );
+# fake receiving the order
+ModOrder({
+ ordernumber => $firstorder->{ordernumber},
+ biblionumber => $firstorder->{biblionumber},
+ quantityreceived => $firstorder->{quantity},
+});
+my $pendingorders = SearchOrders({
+ booksellerid => $booksellerid,
+ pending => 1
+});
+is(scalar(@$pendingorders), 2, 'retrieved 2 pending orders after receiving on one (bug 10723)');
+my $allorders = SearchOrders({
+ booksellerid => $booksellerid,
+});
+is(scalar(@$allorders), 3, 'retrieved all 3 orders even after after receiving on one (bug 10723)');
+
+my $invoiceid = AddInvoice(invoicenumber => 'invoice', booksellerid => 1, unknown => "unknown");
+
+my ($datereceived, $new_ordernumber) = ModReceiveOrder(
+ $biblionumber2,
+ $ordernumber2,
+ 2,
+ undef,
+ 12,
+ 12,
+ $invoiceid,
+ 42,
+ );
+my $order2 = GetOrder( $ordernumber2 );
+is($order2->{'quantityreceived'}, 0, 'Splitting up order did not receive any on original order');
+is($order2->{'quantity'}, 40, '40 items on original order');
+is($order2->{'budget_id'}, $budgetid, 'Budget on original order is unchanged');
+
+$neworder = GetOrder( $new_ordernumber );
+is($neworder->{'quantity'}, 2, '2 items on new order');
+is($neworder->{'quantityreceived'}, 2, 'Splitting up order received items on new order');
+is($neworder->{'budget_id'}, $budgetid, 'Budget on new order is unchanged');
+
+my $budgetid2 = C4::Budgets::AddBudget(
+ {
+ budget_code => "budget_code_test_modrecv",
+ budget_name => "budget_name_test_modrecv",