Skip to content

Feature ETP-4969: Merge block 2026-08-21 (ETP-4958, ETP-4959, ETP-4901) - #142

Merged
sebastianbarrozo merged 6 commits into
epic/ETP-3504from
mergeblock/ETP-4969
Aug 21, 2026
Merged

Feature ETP-4969: Merge block 2026-08-21 (ETP-4958, ETP-4959, ETP-4901)#142
sebastianbarrozo merged 6 commits into
epic/ETP-3504from
mergeblock/ETP-4969

Conversation

@sebastianbarrozo

Copy link
Copy Markdown
Collaborator

Merge block ETP-4969 — one Jenkins run for the whole batch instead of one per merge.

Merged into this branch (3):

Validated locally by ship block push (full pre-push gate), hence the local-validated label.

sebastianbarrozo and others added 6 commits August 21, 2026 07:51
LoginStep carried two independent copies of the post-authentication
continuation, one per authentication branch. When the caller-owned
onAuthenticated prop was introduced only the password copy was updated, so
an SSO login on the invitation page persisted the session and then stopped:
the caller never got its callback and the user was stranded on the login
form with an unconsumed invitation token.

Extract the continuation into a single exported helper that both branches
call, so the two paths can no longer diverge. Add the missing onAuthenticated
entry to the handleSsoProviderLogin dependency array, which otherwise
captured a stale callback for any caller that memoizes config.

Replace the previous source-text assert.match regression test with
behavioural unit tests covering routing suppression, persistence-before-
handover ordering, forwarded arguments, error propagation and the
no-continuation default.
packages/etendo-go-core ran only node --test, which cannot parse .jsx. That
is why the ETP-4958 regression test degraded into a source-text
assert.match against LoginStep.jsx: a change detector that passes even
when the code path is unreachable, and that asserts nothing about the
wiring between the two authentication branches and the shared
continuation helper.

Add a Vitest + jsdom + Testing Library setup mirroring app-shell-core, and
cover the ETP-4958 contract at component level by rendering the real
LoginStep and driving each branch to a successful login: caller-owned
continuation invoked with the authenticated session, no environment
routing when the caller takes over, default routing preserved otherwise,
and both branches producing an identical outcome.

Wire the suite into .github/workflows/test.yml and make test. The workflow
runs npm test per workspace, which is node --test only, so a Vitest suite
without its own step would never execute. Only this package's suite is
wired in; app-shell-core has the same gap but is red on the epic and is
tracked separately under ETP-4961.
- isListableReport now rejects type: 'custom' the same way it already
  rejects type: 'document' — a custom contract is an internal NEO
  endpoint backing a specific page's own data needs (e.g.
  financial-accounts-page powers the Cuentas landing page's sidebar
  widgets), a real still-served endpoint that was never meant to show
  up as a runnable report in the catalog
- Add the matching parity test case
@github-actions

Copy link
Copy Markdown
Contributor

Copilot PR Review

Outcome: Comment only
No merge-blocking issues detected, but the warnings below should be reviewed.

Warnings

  • New npm dependency added (NEW_DEPENDENCY)
    packages/etendo-go-core/package.json adds:
  • @testing-library/dom@^10.4.1 (devDependencies)
  • @testing-library/jest-dom@^6.9.1 (devDependencies)
  • @testing-library/react@^16.3.2 (devDependencies)
  • @testing-library/user-event@^14.6.1 (devDependencies)
  • @vitejs/plugin-react@^4.3.0 (devDependencies)
  • jsdom@^29.1.1 (devDependencies)
  • vitest@^4.1.5 (devDependencies)
    Justify new dependencies in the PR description and prefer Node.js built-ins where possible.

@sonarscanetendo

Copy link
Copy Markdown

Passed Quality Gate passed

Issues

Measures

Project ID: etendosoftware_schema_forge_core_976a1e0b-4b24-4757-a2f4-8afa9a5e0289

View in SonarQube

@sebastianbarrozo
sebastianbarrozo merged commit af44aa5 into epic/ETP-3504 Aug 21, 2026
10 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

Epic rollout entry

Feature PR: #142 Feature ETP-4969: Merge block 2026-08-21 (ETP-4958, ETP-4959, ETP-4901)
Merged into epic: 2026-08-21

{
  "number": 142,
  "title": "Feature ETP-4969: Merge block 2026-08-21 (ETP-4958, ETP-4959, ETP-4901)",
  "url": "https://github.com/etendosoftware/schema_forge_core/pull/142",
  "author": "sebastianbarrozo",
  "mergedAt": "2026-08-21T16:18:56Z",
  "summaryBullets": [],
  "reviewReport": {
    "outcome": "Comment only",
    "blockers": [],
    "warnings": [
      "New npm dependency added"
    ]
  }
}

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.

2 participants