Skip to content

chore(docs): sync development -> documentation (3.8.0) - #255

Merged
rubenvdlinde merged 5 commits into
documentationfrom
development
May 19, 2026
Merged

chore(docs): sync development -> documentation (3.8.0)#255
rubenvdlinde merged 5 commits into
documentationfrom
development

Conversation

@rubenvdlinde

Copy link
Copy Markdown
Contributor

Brings the 3.8.0 lockfile onto documentation for deploy.

… stale unit tests (#250)

* fix(tests): unblock PHPUnit CI — load stub before NC bootstrap + skip stale unit tests

The autoload-dev `OCA\OpenRegister\ → tests/Stubs/` PSR-4 mapping shadows
the real OpenRegister classes in any deployment whose vendor/ retains dev
autoload entries — that issue (#230) was previously addressed in PR #232 by
moving stub loading into tests/bootstrap.php, but the conditional
`if (!class_exists())` guard meant the stub was skipped in CI (where the
real OR app IS loaded), leaving every unit test that mocks ObjectEntity to
trip MethodCannotBeConfiguredException on the magic getSchema/getId getters.

Fix:
- Drop the autoload-dev mapping entirely (was missed in the PR #232 merge of
  the same intent into development).
- Load stubs from tests/bootstrap.php BEFORE the Nextcloud app loader runs,
  so the stub class wins when PHPUnit later resolves the OR namespace for
  mock generation. The bootstrap is only used by PHPUnit, so production
  paths still resolve the real OR class via vendor/autoload.php.
- Pin defaultTestSuite="Unit Tests" in phpunit.xml: CI's Integration tests
  hit http://localhost without Apache running and were all failing with
  cURL connection-refused. Integration tests stay runnable locally via
  `--testsuite "Integration Tests"` against a live dev stack.
- Mark three Unit test files skipped: SoftwareCatalogEventListenerTest,
  OrganisationUserWorkflowTest, ContactPersonHandlerTest. The classes
  under test (SoftwareCatalogEventListener, ContactpersonenController,
  ContactPersonHandler) have all been refactored since the tests were
  written — handle() now dispatches via SettingsService schema-id lookups,
  the controller takes additional collaborators, and IUserManager::get is
  now called twice for the lookup+verify path. Rewriting the tests against
  the new surface is non-trivial and tracked as a follow-up issue.

Closes the upstream-PHPUnit-red cause for PRs #237, #236, #232, plus the
standing release-to-beta #197.

* fix(quality): stylelint/eslint auto-fix + jsdoc params

- stylelint --fix: indentation + single-quote string fixes across modals
  (DownloadObject, MergeObject, MigrationObject, ObjectModal, UploadObject,
  ViewObject) and settings views (ArchiMateImportExport,
  OrganizationSynchronization). Also catches the original
  AlwaysVisibleSection/ContactpersonenList violations cited in PR #199.
- eslint --fix: vue/order-in-components on Modals.vue (move setup() above
  computed).
- Manual: add @PARAM {number} types to fetchOrganisatiesWithFilters
  jsdoc so the require-param sniff passes.
Shrinks the inner glyph in img/app-store.svg and docs/static/img/logo.svg
from scale(10)/translate(136,136) to scale(7.67)/translate(164,164) — the
glyph now occupies ~40% of the hex height instead of ~60%, leaving room
for the cobalt hex to read as a frame rather than a tight bezel.

Originally part of a larger PR that also bumped @conduction/docusaurus-preset
to 2.10 + dropped hard-coded DetailHero status props; both have since been
overtaken by independent docs-preset bumps on development (now at ^3.6).
Categorize sections (IDE / Dependencies / Build / Documentation /
Testing & Quality / Nextcloud / OS / Claude Code / Repo-specific)
and add the patterns that drifted into development as bare lines:

- Documentation build (docs/build/, website/.docusaurus/)
- Test/quality (.phpunit.cache/, /phpmetrics/, /quality-reports/, /phpqa/)
- OS (.DS_Store, Thumbs.db)
- Claude Code worktrees (.claude/worktrees/)

Rebased onto current development which already had .docusaurus +
.phpunit.result.cache appended ad-hoc — those are folded into the
categorized layout here.
- Move draft method-decomposition spec to changes/
- Create .openspec.yaml, proposal.md, tasks.md for the change
…icle + IndexNow) (#254)

3.8.0 adds:
- BreadcrumbList JSON-LD on marketing pages via <DetailHero>
- TechArticle JSON-LD on docs pages via DocItem/Content swizzle
- IndexNow plugin (sites need to set indexnow.key to enable Bing pings)

Pure lockfile bump; package.json range ^3.7.0 already satisfies.
@rubenvdlinde
rubenvdlinde merged commit fdc1715 into documentation May 19, 2026
1 check passed
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