@@ -374,4 +374,118 @@ test.describe('Cancel qty in the middle of receipt', () => {
374374 ) . toHaveText ( '5' ) ;
375375 } ) ;
376376 } ) ;
377+
378+ test ( 'Assert cancel checkbox selection when going forward and backward' , async ( {
379+ stockMovementShowPage,
380+ receivingPage,
381+ } ) => {
382+ await test . step ( 'Go to stock movement show page' , async ( ) => {
383+ await stockMovementShowPage . goToPage ( STOCK_MOVEMENT . id ) ;
384+ await stockMovementShowPage . isLoaded ( ) ;
385+ } ) ;
386+
387+ await test . step ( 'Go to shipment receiving page' , async ( ) => {
388+ await stockMovementShowPage . receiveButton . click ( ) ;
389+ await receivingPage . receivingStep . isLoaded ( ) ;
390+ } ) ;
391+
392+ await test . step ( 'Input receiving qty for 1 item' , async ( ) => {
393+ await receivingPage . receivingStep . isLoaded ( ) ;
394+ await receivingPage . receivingStep . table
395+ . row ( 1 )
396+ . receivingNowField . textbox . fill ( '50' ) ;
397+ } ) ;
398+
399+ await test . step ( 'Go to check page' , async ( ) => {
400+ await receivingPage . nextButton . click ( ) ;
401+ await receivingPage . checkStep . isLoaded ( ) ;
402+ await receivingPage . checkStep . table
403+ . row ( 1 )
404+ . cancelRemainingCheckbox . click ( ) ;
405+ } ) ;
406+
407+ await test . step ( 'Go to backward to receiving page and forward again' , async ( ) => {
408+ await receivingPage . checkStep . backToEditButton . click ( ) ;
409+ await receivingPage . nextButton . click ( ) ;
410+ await receivingPage . checkStep . isLoaded ( ) ;
411+ await expect (
412+ receivingPage . checkStep . table . row ( 1 ) . cancelRemainingCheckbox
413+ ) . not . toBeChecked ( ) ;
414+ await receivingPage . checkStep . table
415+ . row ( 1 )
416+ . cancelRemainingCheckbox . click ( ) ;
417+ await expect (
418+ receivingPage . checkStep . table . row ( 1 ) . cancelRemainingCheckbox
419+ ) . toBeChecked ( ) ;
420+ await receivingPage . checkStep . receiveShipmentButton . click ( ) ;
421+ await stockMovementShowPage . isLoaded ( ) ;
422+ } ) ;
423+
424+ await test . step ( 'Assert canceled and received qty on stock movement show page' , async ( ) => {
425+ await expect ( stockMovementShowPage . statusTag ) . toHaveText ( 'Receiving' ) ;
426+ await stockMovementShowPage . packingListTab . click ( ) ;
427+ await expect (
428+ stockMovementShowPage . packingListTable . row ( 1 ) . quantityShipped
429+ ) . toHaveText ( '100' ) ;
430+ await expect (
431+ stockMovementShowPage . packingListTable . row ( 1 ) . quantityReceived
432+ ) . toHaveText ( '50' ) ;
433+ await expect (
434+ stockMovementShowPage . packingListTable . row ( 1 ) . quantityCanceled
435+ ) . toHaveText ( '50' ) ;
436+ } ) ;
437+
438+ await test . step ( 'Start 2nd receipt' , async ( ) => {
439+ await stockMovementShowPage . receiveButton . click ( ) ;
440+ await receivingPage . receivingStep . isLoaded ( ) ;
441+ } ) ;
442+
443+ await test . step ( 'Input receiving qty for 2nd item' , async ( ) => {
444+ await receivingPage . receivingStep . isLoaded ( ) ;
445+ await receivingPage . receivingStep . table
446+ . row ( 2 )
447+ . receivingNowField . textbox . fill ( '2' ) ;
448+ } ) ;
449+
450+ await test . step ( 'Go to check page and cancel qty remaining' , async ( ) => {
451+ await receivingPage . nextButton . click ( ) ;
452+ await receivingPage . checkStep . isLoaded ( ) ;
453+ await receivingPage . checkStep . table
454+ . row ( 1 )
455+ . cancelRemainingCheckbox . click ( ) ;
456+ await expect (
457+ receivingPage . checkStep . table . row ( 1 ) . cancelRemainingCheckbox
458+ ) . toBeChecked ( ) ;
459+ } ) ;
460+
461+ await test . step ( 'Go to backward to receiving page and forward again' , async ( ) => {
462+ await receivingPage . checkStep . backToEditButton . click ( ) ;
463+ await receivingPage . nextButton . click ( ) ;
464+ await receivingPage . checkStep . isLoaded ( ) ;
465+ await expect (
466+ receivingPage . checkStep . table . row ( 1 ) . cancelRemainingCheckbox
467+ ) . not . toBeChecked ( ) ;
468+ await receivingPage . checkStep . receiveShipmentButton . click ( ) ;
469+ await stockMovementShowPage . isLoaded ( ) ;
470+ } ) ;
471+
472+ await test . step ( 'Assert canceled and received qty on stock movement show page' , async ( ) => {
473+ await expect ( stockMovementShowPage . statusTag ) . toHaveText ( 'Receiving' ) ;
474+ await stockMovementShowPage . packingListTab . click ( ) ;
475+ await expect (
476+ stockMovementShowPage . packingListTable . row ( 2 ) . quantityShipped
477+ ) . toHaveText ( '10' ) ;
478+ await expect (
479+ stockMovementShowPage . packingListTable . row ( 2 ) . quantityReceived
480+ ) . toHaveText ( '2' ) ;
481+ await expect (
482+ stockMovementShowPage . packingListTable . row ( 2 ) . quantityCanceled
483+ ) . toHaveText ( '0' ) ;
484+ } ) ;
485+
486+ await test . step ( 'Rollback shipment received in 2 receipts' , async ( ) => {
487+ await stockMovementShowPage . isLoaded ( ) ;
488+ await stockMovementShowPage . rollbackLastReceiptButton . click ( ) ;
489+ } ) ;
490+ } ) ;
377491} ) ;
0 commit comments