There is 1 update.
 
 
XWiki Platform / cid:jira-generated-image-avatar-86b39d99-2da4-4b9c-a6ef-24d46fc68518 XWIKI-25214 Open

Add test APIs to wait for a document to be saved in the background

 
View issue   ยท   Add comment
 

1 update

 
cid:jira-generated-image-avatar-32c90692-cf7e-4ab5-8099-95ab83d86507 Changes by Vincent Massol on 08/Oct/26 13:51
 
Description: Functional tests that check something saved in the background (e.g. by an editor's auto-save) have to wait for it, and today they do so with {{getDriver()}} calls in the test class (raising the driver timeout, polling with {{waitUntilCondition}}), which breaks the page-object boundary: the test shouldn't need to know how long to wait or how to poll.

Add {{TestUtils.RestTestUtils#
waitForNewVersion waitForVersionChange (reference, version fromVersion , timeout)}}: wait for the version of a document to move past differ from a given one, whatever changes it (a save, a rollback, a version deletion) , polling it over REST (so it works whichever browser tab, if any, saves changes it), and return the new version. It throws a {{TimeoutException}} otherwise, which also lets a test check that no new version is created.

Example: the BlockNote auto-save tests ({{AutoSaveIT}}). They use this API, plus page-object methods that wait for the auto-save with timeouts derived from the configured interval ({{BlockNoteEditor#waitForAutoSave()}} and {{BlockNoteEditor#isAutoSavedWithinNextInterval()}}), and no longer call {{getDriver()}}.