Issue #3618901: Move FunctionalJavaScript methods to BrowserBaseTest methods

Test conversions

The following 15 methods were converted from FunctionalJavascript to Functional tests:

  1. DevelopmentSettingsFormTest::testDisabledRenderedOutputCacheBins() was extracted into a new Functional test class. The Twig development-mode test remains in the original JavaScript class.
  2. TriggeringElementTest::testNoButtonInfoInPost() was moved with its test class to Functional coverage because BrowserKit can submit the form without a button value.
  3. TriggeringElementTest::testAttemptAccessControlBypass() was moved to Functional coverage. The DOM-manipulation workaround was replaced with a direct forged BrowserKit POST containing the inaccessible button value.
  4. ValidationTest::testValidateLimitErrors() was moved into the existing Functional validation test class. It only tests server-side validation and rendered attributes.
  5. ValidationTest::testCustomRequiredError() was moved into the existing Functional validation test class. testPatternValidation() remains in the JavaScript class because it relies on browser HTML5 validation.
  6. ContentModerationTest::testAdministrationPage() was extracted into a new Functional test class together with the setup and assertion helpers it requires. The media-library widget test remains under Functional JavaScript.
  7. WidgetAccessTest::testRequiredFieldNoAccess() was extracted into a new Functional test class. The interactive media-library widget access test remains under Functional JavaScript.
  8. WidgetWithoutTypesTest::testWidgetWithoutMediaTypes() and its test class were moved to Functional coverage because all assertions inspect server-rendered form output.
  9. AccessAnnouncementTest::testAnnounceFirstLogin() was moved with its test class to Functional coverage.
  10. AccessAnnouncementTest::testAnnounceWithoutPermission() was moved with its test class to Functional coverage.
  11. WorkspaceTest::testSpecialCharacters() was moved with its test class to Functional coverage. Its previously unused hasContent() result was replaced with an explicit page-text assertion.
  12. WorkspaceTest::testWorkspaceToolbar() was moved with its test class to Functional coverage.
  13. WorkspaceTest::testToolbarSwitcherDynamicPageCache() was moved with its test class to Functional coverage.
  14. AnnounceBlockTest::testAnnounceWithoutPermission() was moved with its test class to Functional coverage.
  15. SessionTest::testSessionExpiration() was moved with its test class to Functional coverage. The JavaScript wait was removed and each navigation now asserts a successful HTTP response.

AI Disclosure: Certain elements of the above work were implemented with the help of an LLM. All code is human-tested and verified.

Closes #3618901

Edited by Kieran Cott

Merge request reports

Loading
Loading