Manual Integration Test: Flexible Column Layout - Keep-alive Scenario
DESCRIPTION
This demo application is used to demonstrate how to synchronize data between a list report
(left column), an object page (middle column) and a sub-object page (right column) by using
the Context#setKeepAlive API method.
Additionally, it is used to test the creation of a sales order together with its items using
a single request ("deep create") in non-draft mode.
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 FlexibleColumnLayout application URL (adjust host and port if necessary):
REALIZE and CHECK
List report and object page are in sync
- Select the first sales order in the sales order list report.
- Check: An object page for the sales order appears.
- Enter 'Test' into the
Note input field of the object page.
- Press the
Sales Order ID button in the header of the respective column
of the sales orders table of the list report.
- Check: The sales order list is sorted by the
SalesOrderID
and the selected sales order does no longer appear in the list report. It is still
present in the object page.
- Press the
Sales Order ID button in the header of the respective column
of the sales orders table of the list report.
- Check: The sales order appears again in the list report and and its property
Note has the value 'Test'.
- Enter 'Test (changed)' into the
Note input field (of the object page)
and leave the field.
- Check: Both the list report and the object page are in sync.
- Press the
Cancel button.
- Check: Both the list report and the object page are in sync.
Object page and sub-object page are in sync
- Select the first sales order line item on the object page.
- Check: A sub-object page with item details appears.
- Enter '2' into the
Quantity input field of the sub-object page.
- Press the
Gross Amount button.
- Check: The sales order item list is sorted by the
GrossAmount
and the selected sales order item is no longer part of the items list. In the
sub-object page it is still present.
- Press
Reset Line Item on the sub-object page.
- Check: The
Quantity is again '4.000'.
- Enter 'Test (changed)' into the
Note input field (of the object page)
and leave the field.
- Press the
Create Line Item button in the toolbar of the sales order
line items table.
- Check: A new line item occurs and the count for the sales order line item
table in both, the title and below the
More button is 28.
- Enter '' into the
Quantity input field of the sub-object page
and leave the field.
- Check: The
Quantity input field of the new sales order line item
has a colored border indicating an error.
- Press the
Reset Sales Order button on the object page.
- Check: The
Quantity is again '4.000' and the error is gone.
- Check: The
Note (of the object page) is again
'Test (original)'.
- Check: The new line item is gone and the count for the sales order line item
table in both, the title and below the
More button is 27 again.
- Enter '2' into the
Quantity input field of the sub-object page.
- Press the
More button on the item table of the object page.
- Check: Both the object page and the sub-object page are in sync.
- Press the
Cancel button.
- Check: Both the object page and the sub-object page are in sync.
Delete a kept-alive context that is not visible in the sales orders table; after
deletion the count does not change
- Select the fifth sales order on the list report that is currently sorted ascending
by the
Sales Order ID.
- Check: The object page is updated.
- Check: The count for the sales order table in both, the title and below the
More button is 10.
- Enter 'Test' into the
Note input field of the object page.
- Enter '1000' in the search field of the sales order table.
- Check: The count for the sales order table in both, the title and below the
More button is 7.
- Check: The table is filtered and the selected sales order is not visible on
the sales order table.
- Press the
Cancel button.
- Press the
Delete button on the sales order object page.
- Check: The object page vanishes and there is no error message.
- Press the
Sales Order ID button in the header of the respective
column of the sales orders table of the list report.
- Check: The deleted sales order is not visible in the list report.
- Check: The count for the sales order table in both, the title and below the
More button is still 7.
- Check: The corresponding sales order is no longer existing and the object
page vanishes.
Delete a kept-alive context in a table with transient contexts; after deletion the
count changes
- Select the first sales order on the list report that is currently sorted ascending
by the
Sales Order ID.
- Check: An object page for the first sales order occurs.
- Check: The count for the sales order line item table in both, the title and
below the
More button is 27.
- Select the first sales order line item on the object page.
- Check: A sub-object page with the item details appears.
- Press the
Gross Amount button.
- Check: The sales order item list is sorted by
GrossAmount and
the selected sales order item is no longer part of the items list. In the sub-object
page it is still present.
- Check: The count of sales order line items table is still 27.
- Press the
Create Line Item button in the toolbar of the sales order
line items table.
- Check: A new line item occurs and the count for the sales order line item
table in both, the title and below the
More button is 28.
- Press the
Delete button of the sub-object page.
- Check: The sub object page vanishes.
- Check: The newly created sales order item is still there and the count for
the sales order line item table in both, the title and below the
More
button is 27.
- Press the
Cancel button.
- Check: The newly created sales order item vanishes and the count for the
sales order line item table in both, the title and below the
More
button is 26.
Refresh the object page of a kept-alive context that is not visible in the sales orders
table; after refreshing the sales order is no longer available
- Press the
Sales Order ID button in the header of the respective column
of the sales orders table of the list report.
- Select the second sales order in the sales order list report.
- Check: An object page with the sales order appears.
- Press the
Sales Order ID button in the header of the respective column
of the sales orders table of the list report.
- Check: The sales order list is sorted by the
SalesOrderID
and the selected sales order does no longer appear in the list report. It is still
present in the object page.
- Check: The value of the
Sales Order ID input field is
'0500000009'
- Press the
Refresh button on the sales order object page.
- Check: The corresponding sales order is no longer existing and the object
page vanishes.
Refresh the object page of a kept-alive context that is visible in the sales orders
table; after refreshing the object page, the sales order does no longer appear in the
list
- Select the first sales order in the sales order list report.
- Check: An object page for the sales order appears.
- Enter '1000' in the search field of the sales order table.
- Check: The table is filtered but the selected sales order is still visible on
the sales order table.
- Press the
Refresh button on the sales order object page.
- Check The object page is updated and shows new data but the sales order
does no longer appear in the sales order table.
Refresh the New Sales Orders list with a kept-alive context that is not
visible in the list; after refreshing the New Sales Orders list, the sales
order appears again in the list
- Select the fifth sales order in the
New Sales Orders list.
- Check: An object page
Sales Order Details for the selected
sales order appears.
- Enter '1000' in the search field of the
New Sales Orders list and
press enter.
- Check: That the sales order '0500000004' is filtered out from the
New Sales Orders list, but still exists on the
Sales Order Details object page.
- Press the
Refresh button on the New Sales Orders
list.
- Check The object page
Sales Order Details is updated and
shows new data and the sales order '0500000004' appears again in the
New Sales Orders list.
Increase sales order line items' quantities
- Select the first sales order in the list report.
- Check: An object page
Sales Order Details for the selected
sales order appears.
- Select the first sales order line item on the object page.
- Check: A sub-object page with item details appears.
- Press the
Gross Amount button.
- Check: The sales order item list is sorted by the
GrossAmount
and the selected sales order item is no longer part of the items list. In the
sub-object page it is still present.
- Press the
Increase all Sales Order Items' Quantities by 1 button.
- Check: The quantity on the sub-object page and all quantities for line items
in the object page are increased by one.
- Check: The gross amount and the note for the selected sales order in the
list report and object page changed too.
Technical background: requestSideEffects must also update the item in the sub-object
page even if it is not in the list currently.
Deep create
- Press the
Create button.
- Check: An empty sales order is shown at the top of the list report and in
the object page. It contains one line item with a quantity of "2.000".
- Enter 'Deep Create' in the
Note field of the object page.
- Press the
Create Line Item button in the toolbar of the sales order
line items table thrice.
- Check: Three new line items occur, each with a quantity of "2.000". The
count for the sales order line item table is 4.
- Select the second sales order line item on the object page.
- Check: A sub-object page with item details appears.
- Press the
Delete button of the sub-object page.
- Check: The sub object page vanishes, and the line item is removed from the
item table in the object page.
- Select the second sales order line item on the object page.
- Check: A sub-object page with item details appears.
- Enter '4' in the Quantity field of the item details.
- Press the
Save button.
- Check: The sales order now has ID '0500000005'.
- Check: The Gross Amount of the sales order now is '14,176.90'.
- Check: The sales order line items now have item positions.
- Check: The sub-object page has been closed.
- Select the second sales order line item on the object page.
- Check: A sub-object page with item details appears.
- Enter '3' in the Quantity field of the item details.
- Press the
Save button.
- Check: The gross amount in the object page changed to "12,404.77".