@@ -297,6 +297,75 @@ public function testStatusAndAmountIsReset(): void {
297
297
], FundingClearingResourcesItem::get (FALSE )->execute ()->single ());
298
298
}
299
299
300
+ public function testStatusAndAmountIsNotResetIfClearingItemUnchanged (): void {
301
+ $ clearingCostItem = ClearingCostItemFixture::addFixture (
302
+ $ this ->clearingProcessBundle ->getClearingProcess ()->getId (),
303
+ $ this ->costItem ->getId (),
304
+ ['status ' => 'accepted ' , 'amount ' => 5 , 'amount_admitted ' => 4.1 ]
305
+ );
306
+ $ clearingResourcesItem = ClearingResourcesItemFixture::addFixture (
307
+ $ this ->clearingProcessBundle ->getClearingProcess ()->getId (),
308
+ $ this ->resourcesItem ->getId (),
309
+ ['status ' => 'rejected ' , 'amount ' => 3 , 'amount_admitted ' => 0.1 ]
310
+ );
311
+
312
+ $ result = RemoteFundingClearingProcess::submitForm ()
313
+ ->setRemoteContactId ($ this ->remoteContactId )
314
+ ->setId ($ this ->clearingProcessBundle ->getClearingProcess ()->getId ())
315
+ ->setData ([
316
+ 'costItems ' => [
317
+ $ this ->costItem ->getId () => [
318
+ 'records ' => [
319
+ [
320
+ '_id ' => $ clearingCostItem ->getId (),
321
+ 'receiptNumber ' => $ clearingCostItem ->getReceiptNumber (),
322
+ 'paymentDate ' => $ clearingCostItem ->getPaymentDate ()->format ('Y-m-d ' ),
323
+ 'recipient ' => $ clearingCostItem ->getRecipient (),
324
+ 'reason ' => $ clearingCostItem ->getReason (),
325
+ 'amount ' => $ clearingCostItem ->getAmount (),
326
+ 'amountAdmitted ' => $ clearingCostItem ->getAmountAdmitted (),
327
+ 'status ' => $ clearingCostItem ->getStatus (),
328
+ ],
329
+ ],
330
+ ],
331
+ ],
332
+ 'resourcesItems ' => [
333
+ $ this ->resourcesItem ->getId () => [
334
+ 'records ' => [
335
+ [
336
+ '_id ' => $ clearingResourcesItem ->getId (),
337
+ 'receiptNumber ' => $ clearingResourcesItem ->getReceiptNumber (),
338
+ 'paymentDate ' => $ clearingResourcesItem ->getPaymentDate ()->format ('Y-m-d ' ),
339
+ 'recipient ' => $ clearingResourcesItem ->getRecipient (),
340
+ 'reason ' => $ clearingResourcesItem ->getReason (),
341
+ 'amount ' => $ clearingResourcesItem ->getAmount (),
342
+ 'amountAdmitted ' => $ clearingResourcesItem ->getAmountAdmitted (),
343
+ 'status ' => $ clearingResourcesItem ->getStatus (),
344
+ ],
345
+ ],
346
+ ],
347
+ ],
348
+ 'reportData ' => ['foo ' => 'bar ' ],
349
+ '_action ' => 'save ' ,
350
+ ])
351
+ ->execute ()
352
+ ->getArrayCopy ();
353
+
354
+ static ::assertSame (RemoteSubmitResponseActions::RELOAD_FORM , $ result ['action ' ]);
355
+ static ::assertSame ('Saved ' , $ result ['message ' ]);
356
+ static ::assertArrayNotHasKey ('errors ' , $ result );
357
+ static ::assertEquals (new \stdClass (), $ result ['files ' ]);
358
+
359
+ static ::assertEquals (
360
+ $ clearingCostItem ->toArray (),
361
+ FundingClearingCostItem::get (FALSE )->execute ()->single ()
362
+ );
363
+ static ::assertEquals (
364
+ $ clearingResourcesItem ->toArray (),
365
+ FundingClearingResourcesItem::get (FALSE )->execute ()->single ()
366
+ );
367
+ }
368
+
300
369
public function testModifyDoesNotChangeData (): void {
301
370
$ clearingProcess = $ this ->clearingProcessBundle ->getClearingProcess ();
302
371
$ clearingProcess ->setStatus ('review-requested ' );
0 commit comments