Skip to content

fix(tests): two #706 tests that could not pass in CI - #717

Merged
rubenvdlinde merged 1 commit into
developmentfrom
fix/connections-declaration-test-reads-info-xml
Sep 15, 2026
Merged

rubenvdlinde merged 1 commit into
developmentfrom
fix/connections-declaration-test-reads-info-xml

Conversation

@rubenvdlinde

Copy link
Copy Markdown
Contributor

What

Two tests added in #706 could not pass in CI. Both were hidden until now, because the PHPUnit cells never got past installing integriq (fixed in ConductionNL/.github#779) and E2E does not run on push.

  • ConnectionsDeclarationTest::testTheFileNamesThisApp read appinfo/info.xml with simplexml_load_file(). Nextcloud's lib/base.php nulls libxml's external entity loader, so under the Nextcloud bootstrap that call returns false for a well-formed file. It failed in all six PHPUnit cells with Failed asserting that false is not false. It now parses the file contents as a string, as NextcloudFloorMatrixTest already does.
  • integrations-page.spec.ts › lists the two declared connections looked a row up with getByRole('row', { name: /^Breach check\b/ }). Each row's accessible name starts with its "Select row" checkbox, so the locator found 0 rows while the page showed both, which is visible in the failure screenshot. It now matches the row by its Connection cell. I also corrected the stale "written, not yet run" line in the spec header.

Verified

  • Probe run with the .github#779 workflow (https://github.com/ConductionNL/keepiq/actions/runs/34955589876): these were the only PHPUnit failure (1 of 1,327, the same in all six cells) and the only Playwright failure (1 of 82, the other two tests in this spec passed).
  • Unit fix: ConnectionsDeclarationTest passes locally (8 tests, 61 assertions). As a control, restoring simplexml_load_file() with the entity loader nulled the way base.php does reproduces CI's exact failure on the same assertion.
  • E2E fix: on a replica of the rendered table in headless Chromium, the old locator matches 0 rows per title and the new one matches exactly 1. It was not run against a live instance with integriq; the next E2E run confirms it.
  • COMPOSER_PROCESS_TIMEOUT=0 composer check:strict: ALL CHECKS PASSED (PHPUnit 1,327 tests OK, 9 skipped).
  • npm run format and npm run lint: pass, 0 lint errors.
  • diff-check.sh --base origin/development: GREEN, gates PASS, 0 new findings.

🤖 Generated with Claude Code

ConnectionsDeclarationTest read appinfo/info.xml with simplexml_load_file().
Nextcloud's lib/base.php nulls libxml's external entity loader, so that call
returns false for a well-formed file whenever the suite runs under the
Nextcloud bootstrap, which is every CI cell. It now parses the file contents
as a string, as NextcloudFloorMatrixTest already does.

The Integrations page e2e test looked a row up by an accessible name starting
with the connection title, but each row's name starts with its "Select row"
checkbox, so it found nothing while the page showed both rows. It now matches
the row by its Connection cell.
@rubenvdlinde
rubenvdlinde merged commit 8422d4c into development Sep 15, 2026
36 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/keepiq @ abefe28

Check PHP Vue Security License Tests
lint ✅
phpcs ✅
phpmd ✅
psalm ✅
phpstan ✅
phpmetrics ✅
eslint ✅
stylelint ✅
build ✅
check-manifest ✅
test-l10n ✅
format ✅
check-l10n-js ✅
check-schema-l10n ✅
composer ✅ ✅ 111/111
npm ✅ ✅ 543/543
app:check-code ⏭️
info.xml ✅
REUSE ✅
lockfile sync ✅
PHPUnit ❌
Newman ✅
Playwright ⏭️ deferred: E2E runs locally and on the promotion path only. This pull request targets development, so the suite is asked once per promotion into beta and main rather than once per push per open pull request. Run it on any branch from the Actions tab, or locally with npx playwright test.
Hydra gates ✅

Quality workflow — 2026-09-15 19:17 UTC

Download the full PDF report from the workflow artifacts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant