Skip to content

[stable32] feat: implement more e2e tests#7127

Merged
vitormattos merged 12 commits intostable32from
backport/7074/stable32
Mar 5, 2026
Merged

[stable32] feat: implement more e2e tests#7127
vitormattos merged 12 commits intostable32from
backport/7074/stable32

Conversation

@backportbot-libresign
Copy link

Backport of PR #7074

…oint

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
…sign link

When an authenticated Nextcloud user navigates to a sign link whose
email does not match their own account email, LibreSign must block the
attempt and display a clear error message instead of silently failing.

The test logs in as admin (admin@email.tld), creates an email-only sign
request for signer01@libresign.coop, then navigates to the sign link
without logging out. The backend returns ACTION_DO_NOTHING (2000) and
the frontend must render the error message:
'This document is not yours. Log out and use the sign link again.'

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
When the backend returns ACTION_DO_NOTHING (2000) — e.g. when an
authenticated user accesses a sign link that belongs to a different
email address — ExternalApp.vue was unconditionally rendering the
sign view and the RightSidebar, resulting in a loading spinner and
hiding the actual error message.

Show DefaultPageError and hide RightSidebar when isDoNothingError,
mirroring the existing behaviour in App.vue.

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
When errors are present via initial state the generic 'Page not found'
title and 'Sorry but...' description are misleading. Replaced with
computed title ('An error occurred' vs 'Page not found') and computed
description (empty when errors exist) so that error scenarios like the
wrong-session case display a meaningful heading.

Also added width: 100% to .error-page so it fills the full horizontal
width inside the flex container of ExternalApp.

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Cover both states of isDoNothingError:
- normal load: router-view and RightSidebar are rendered, DefaultPageError is not
- DO_NOTHING action: DefaultPageError is shown, RightSidebar and router-view are hidden

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
…splay

Cover all branches of the errors computed property:
- errors[] with items: title 'An error occurred', NcNoteCard with message
- no data: title 'Page not found', description shown, no NcNoteCard
- empty errors[] but error.message present: fallback to singular object

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
When the signer's email matches the authenticated user's Nextcloud
account email, LibreSign must allow the sign flow to proceed normally
through the email+token identify method.

The test logs in as admin (admin@email.tld), creates an email-only sign
request using that same address, stays logged in, follows the sign link
from the notification email, submits the token received in the email,
and signs with click-to-sign — asserting the document reaches the
signed state.

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
- Replace NcListItem with plain divs for multi-line cert details
- Use dl/dt/dd semantic structure for screen readers
- Add aria-expanded, aria-label on toggle button and cert items
- Fix layout spacing and reset browser defaults on dt/dd
- Add TRANSLATORS comments with PKI context for non-technical translators
- Fix CSS typo: phain-wrapper -> padding-left

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
- Test aria-expanded state on header (true/false)
- Test aria-label on each certificate item
- Test dl/dt/dd semantic structure for certificate fields
- Test toggle button aria-label changes with open/close state

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
@github-project-automation github-project-automation bot moved this to 0. Needs triage in Roadmap Mar 5, 2026
@backportbot-libresign backportbot-libresign bot added this to the Next Patch (32) milestone Mar 5, 2026
@vitormattos vitormattos merged commit 85a8ca9 into stable32 Mar 5, 2026
27 of 33 checks passed
@vitormattos vitormattos deleted the backport/7074/stable32 branch March 5, 2026 16:23
@github-project-automation github-project-automation bot moved this from 0. Needs triage to 4. to release in Roadmap Mar 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: 4. to release

Development

Successfully merging this pull request may close these issues.

1 participant