# Manual Integration Test: Multiple Inline Creation Rows Grid

## DESCRIPTION

Test of the Multiple Inline Creation Rows Grid application.

## PREPARATION

To check console errors open the developer tools before starting the application and check with each step, that there are no errors and warnings.

### Testing with mock data

Start the Multiple Inline Creation Rows Grid application with following URL (adjust host and port if necessary): http://<host>:<port>/test-resources/sap/ui/core/demokit/sample/common/index.html?component=odata.v4.MultipleInlineCreationRowsGrid

## REALIZE and CHECK

### Test the app within draft mode and non-draft mode.

To start the app in non-draft mode simply add URL parameter "&updateGroupId=update" to the above URL http://<host>:<port>/test-resources/sap/ui/core/demokit/sample/common/index.html?component=odata.v4.MultipleInlineCreationRowsGrid&updateGroupId=update For non-draft mode the app has additional `Save` and `Cancel` buttons and the test description differs a little.

1. Check: A list with three products appears.
2. Select the first product with ID "10".
3. Check: A table with title "Product 10, 3 Parts" appears. It contains three product parts, followed by three empty rows.
4. Check: The `Delete part` button is active for the persisted parts and inactive for the empty rows.
5. Enter "99" into the `ID` field of the first empty row and press "Enter" key.
6. Check: The `Delete part` button of the row becomes active.
7. Check: The table title changes to "Product 10, 4 Parts".
8. Check: A new empty row appears.
9. Within non-draft mode:
   Check: The product with ID "99" now has the state "transient".
   Press `Save`.
   Check: The product with ID "99" now has the state "persisted".
10. Within draft mode:
    Check: The product with ID "99" now has the state "persisted".
11. Enter "100" into the `ID` field of the first empty row and press "Enter" key, within non-draft press `Save`.
12. Check: An error message "Key exists already" appears.
13. Check: The `ID` field has a colored border indicating the error.
14. Check: The `Delete part` button of the row becomes active.
15. Check: The table title changes to "Product 10, 5 Parts".
16. Check: A new empty row appears.
17. Within non-draft mode:
    Press `Cancel`.
    Check: The table title changes to "Product 10, 4 Parts".
    Check: The row with `ID` "100" disappears.
    Enter "101" into the `ID` field of the first empty row and press "Enter" key.
    Check: The `Delete part` button of the row becomes active.
    Check: The table title changes to "Product 10, 5 Parts".
    Check: A new empty row appears.
    Press `Save`.
    Check: The product with `ID` "101" now has the state "persisted".
    Click on The `Delete part` button of the fourth row with the ID "101".
    Confirm the dialog with clicking on `Ok`.
    Check: The table title changes to "Product 10, 4 Parts".
    Check: The row disappears.
18. Within draft mode:
    Enter "101" into the `ID` field of the first empty row and press "Enter" key.
    Check: The `Delete part` button of the row becomes active.
    Check: The table title changes to "Product 10, 6 Parts".
    Check: A new empty row appears.
    Click on The `Delete part` button of the fifth row with the ID "100".
    Confirm the dialog with clicking on `Ok`.
    Check: The table title changes to "Product 10, 5 Parts".
    Check: The row disappears.
    Select the second product with ID "20".
    Check: The table title changes to "Product 20, 3 Parts".
    Select the first product with ID "10".
    Check: The table title changes to "Product 10, 5 Parts".
    Check: You see 5 "persisted" and 3 inactive parts.
    Check: The 5 "persisted" has now a different description than before because they are reread again.
19. Select the second product with ID "20".
20. Check: The table title changes to "Product 20, 3 Parts".
21. Check: You see 3 "persisted" and 3 "inactive" parts.
22. Press `Quantity` button in parts table header.
23. Check: The parts table is sorted by quantity ascending and the inactive rows are still at the end.
24. Press `Refresh`.
25. Check: The parts table did not change.