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.
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.
- 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.
- Enter 'Test' into the input field
Note
of the object page.
- Press the
Save
button.
- 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 input field
Note
(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.
- 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.
- Enter '2' into the input field
Quantity
of the sub-object page.
- Press 'More' 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 '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
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.