[MGNLTEST-67] Page object support for inline editing on content apps Created: 14/Jul/20  Updated: 09/Nov/23

Status: Selected
Project: Magnolia Test Framework
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Neutral
Reporter: Christoph Meier Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: QA&Testing
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File inline-editing.png    
Issue Links:
dependency
is depended upon by MGNLCE-246 UI tests for jcr-browser - medium prio Open
is depended upon by MGNLCE-285 Implement tests for MEDIUM prio scena... Accepted
Template:
Acceptance criteria:
Empty
Task DoR:
Empty
Epic Link: core-TF-features-bugs-improvements
Team: Foundation
Work Started:

 Description   

Extend existing page object(s) or create new one(s) to enable inline editing on the browser app of a content app like the jcr-browser.

Use case(s)

  • jcr-browser app
  • (possibly) the (new) configuration app

 


How inline editing could work within a UI test:

1. Select a row

A test containing inline editing of a field of a row of a content app browser first must select the row. We already have methods to select a row. Those have been implemented to select rows which are "items" - in the JCR context nodes.

On the JCR browser app we also want to be able to select a row of a property.
Apparently this works already to select /foobar@title, but it need 2 steps:

  app.selectRowByPath("/foobar");
  app.clickRow("title");

Would be "nice" to do that in a one-liner. Maybe this can be achieved by improving the abilities of #selectRowByPath.

2. Edit a field of a row via inline editing

It should not be necessary within the test to use a series of commands like:

  • "double click cell"
  • "enter new value"
  • "press tab to save".

Instead I Imagine something like:
#inlineEdit(String oldValue, String newValue) 
which should work, if the "oldValue" is unique within the row.

If a row has mulitiple editable fields with the same value, it could be something like this:
#inlineEdit(int fieldCount, String newValue).

Such method(s) must include "leaving the cell" / "blur" - to ensure the value is saved.
The question remains whether the row should remain selected or not - I vote for ending the method with the same row still selected.

I propose to expose the methods directly to the content app PO. "Internally" we may need a row PO.


Generated at Mon Feb 12 07:45:14 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.