EUDI Wallet Test Report
Home > Tag > Automated
Application version
Version 2026.10.43-Demo
Report generated 06-10-2026 16:02:09

Tag: Automated

114 tests |

Overview

Test Outcomes

Test Performance

Functional Coverage Overview

Features

Key Statistics

Number of Scenarios 16
Total Number of Test Cases 114
Tests Started Sep 23, 2026 14:08:24
Tests Finished Sep 30, 2026 13:48:32
Total Duration 6d 23h 40m 7s
Fastest Test 51s
Slowest Test 23m 22s
Average Execution Time 5m 28s
Total Execution Time 10h 24m 28s

Functional Coverage Details

Features

Feature Scenarios StepsText Test Cases % Pass Result Coverage
Android > regression tests > automated regression tests > Issuing and storing attestations in the EUDI Wallet via QR code 1 1: Add a document to the EUDI Wallet by scanning a QR code ({issuer=Python}) Given the user visits the Issuer service, generates a QR code for a PID attestation using Python and returns to the Home screen of the Wallet When the user opens the Documents screen Then the Documents screen is displayed When the user taps the add document button on the Documents screen Then the wallet displays the Add document screen When the user selects the option to scan a QR code Then the wallet opens the scanner to scan the QR code rendered by the Issuer When the user scans a valid QR code rendered by the Issuer Then the wallet displays the credential offer with the attestation to be issued and the name of the issuer When the user selects the Cancel button on the credential offer Then the issuing process is canceled And the user is returned to the Documents screen When the user scans a valid QR code rendered by the Issuer And the user selects the Add document button on the credential offer Then the user proceeds with the attestation issuing flow And the wallet displays a success screen with the details of the issued attestation When the user closes the success screen Then the attestation is added to the EUDI Wallet 2: Add a document to the EUDI Wallet by scanning a QR code ({issuer=Kotlin}) Given the user visits the Issuer service, generates a QR code for a PID attestation using Kotlin and returns to the Home screen of the Wallet When the user opens the Documents screen Then the Documents screen is displayed When the user taps the add document button on the Documents screen Then the wallet displays the Add document screen When the user selects the option to scan a QR code Then the wallet opens the scanner to scan the QR code rendered by the Issuer When the user scans a valid QR code rendered by the Issuer Then the wallet displays the credential offer with the attestation to be issued and the name of the issuer When the user selects the Cancel button on the credential offer Then the issuing process is canceled And the user is returned to the Documents screen When the user scans a valid QR code rendered by the Issuer And the user selects the Add document button on the credential offer Then the user proceeds with the attestation issuing flow And the wallet displays a success screen with the details of the issued attestation When the user closes the success screen Then the attestation is added to the EUDI Wallet 2 100%
Android > regression tests > automated regression tests > Deferred Credential Issuance 1 1: Completing the deferred credential delivery process with Python Issuer ({issuer=Python}) Given the user is accessing Python service When the user chooses to deliver a deferred credential to the wallet with Python Then the EUDI Wallet application is opened And the issuance information is displayed to the user for Python Then the user selects the ISSUE button for Python And the user is redirected to the issuer service for authentication and authorization for Python When the user completes authentication and confirms the issuance for Python And the user is navigated to the EUDI wallet application And a notification indicates that the credential request is being processed When the user dismisses the notification by pressing OK And the user is on the Home page And the document is displayed as unavailable with a pending status When the issuer provides the requested credential to the wallet Then the user receives a confirmation message indicating that the document has been issued When the user chooses to inspect the document details Then the issued credential information is displayed for Python And the user presses the X button to close the document Then the document details are no longer displayed And the document appears on the documents screen for Python 2: Completing the deferred credential delivery process with Python Issuer ({issuer=Kotlin}) Given the user is accessing Kotlin service When the user chooses to deliver a deferred credential to the wallet with Kotlin Then the EUDI Wallet application is opened And the issuance information is displayed to the user for Kotlin Then the user selects the ISSUE button for Kotlin And the user is redirected to the issuer service for authentication and authorization for Kotlin When the user completes authentication and confirms the issuance for Kotlin And the user is navigated to the EUDI wallet application And a notification indicates that the credential request is being processed When the user dismisses the notification by pressing OK And the user is on the Home page And the document is displayed as unavailable with a pending status When the issuer provides the requested credential to the wallet Then the user receives a confirmation message indicating that the document has been issued When the user chooses to inspect the document details Then the issued credential information is displayed for Kotlin And the user presses the X button to close the document Then the document details are no longer displayed And the document appears on the documents screen for Kotlin 2 100%
Android > regression tests > automated regression tests > EUDI Wallet Documents Screen 1 1: Documents screen consolidates and lists issued attestations ({credential=PID (MSO Mdoc), issuer=Python}) Given the user issues a PID (MSO Mdoc) attestation using Python And the user issues the second attestation for Python And the user is on the Home screen of the Wallet Then the bottom navigation bar shows the Home, Documents, and History tabs When the user opens the Documents screen Then the Documents tab becomes highlighted after selection And the Documents screen provides a Search bar And the Documents screen provides a Filter control And the Documents screen lists the issued attestations And the listed attestations are organized by category And each attestation card shows the attestation name, the issuer, and the validity end date When the user taps twice on an attestation from the list Then the attestation details are displayed 2: Documents screen consolidates and lists issued attestations ({credential=PID (MSO Mdoc), issuer=Kotlin}) Given the user issues a PID (MSO Mdoc) attestation using Kotlin And the user issues the second attestation for Kotlin And the user is on the Home screen of the Wallet Then the bottom navigation bar shows the Home, Documents, and History tabs When the user opens the Documents screen Then the Documents tab becomes highlighted after selection And the Documents screen provides a Search bar And the Documents screen provides a Filter control And the Documents screen lists the issued attestations And the listed attestations are organized by category And each attestation card shows the attestation name, the issuer, and the validity end date When the user taps twice on an attestation from the list Then the attestation details are displayed 2 100%
Android > regression tests > automated regression tests > EUDI Wallet Home Screen 1 Given the user is viewing the EUDI Wallet Home screen Then the bottom navigation bar displays Home, Documents, and Transactions When the user chooses the Home option from the bottom navigation bar Then the Home option appears highlighted And the Home screen presents the Authenticate and Sign a document sections When the user taps the Authenticate section Then the Authenticate section provides In Person and Online options When the user selects the Sign a document section Then the Sign Document screen appears 1 100%
Android > regression tests > automated regression tests > Issuance and presentation - mDL 2 1: Successful credential issuance and presentation with selective disclosure - Python Issuer - mDL ({credential=mDL (MSO Mdoc), issuer=Python, issuance_method=from list, issue_scenario=same device, verifier=Web verifier, presentation_scenario=same device, selective_disclosure=specific attributes}) Given the user initiates a mDL (MSO Mdoc) issuance using the Python And the issuance method is from list And the issuance is performed on a same device for the mDL (MSO Mdoc) and from list When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a same device for the mDL (MSO Mdoc) Then the verifier verifies the credential successfully with same device for specific attributes 2: Successful credential issuance and presentation with selective disclosure - Python Issuer - mDL ({credential=mDL (MSO Mdoc), issuer=Python, issuance_method=from list, issue_scenario=same device, verifier=Web verifier, presentation_scenario=cross device, selective_disclosure=specific attributes}) Given the user initiates a mDL (MSO Mdoc) issuance using the Python And the issuance method is from list And the issuance is performed on a same device for the mDL (MSO Mdoc) and from list When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a cross device for the mDL (MSO Mdoc) Then the verifier verifies the credential successfully with cross device for specific attributes 3: Successful credential issuance and presentation with selective disclosure - Python Issuer - mDL ({credential=mDL (MSO Mdoc), issuer=Python, issuance_method=credential offer, issue_scenario=same device, verifier=Web verifier, presentation_scenario=same device, selective_disclosure=specific attributes}) Given the user initiates a mDL (MSO Mdoc) issuance using the Python And the issuance method is credential offer And the issuance is performed on a same device for the mDL (MSO Mdoc) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a same device for the mDL (MSO Mdoc) Then the verifier verifies the credential successfully with same device for specific attributes 4: Successful credential issuance and presentation with selective disclosure - Python Issuer - mDL ({credential=mDL (MSO Mdoc), issuer=Python, issuance_method=credential offer, issue_scenario=same device, verifier=Web verifier, presentation_scenario=cross device, selective_disclosure=specific attributes}) Given the user initiates a mDL (MSO Mdoc) issuance using the Python And the issuance method is credential offer And the issuance is performed on a same device for the mDL (MSO Mdoc) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a cross device for the mDL (MSO Mdoc) Then the verifier verifies the credential successfully with cross device for specific attributes 5: Successful credential issuance and presentation with selective disclosure - Python Issuer - mDL ({credential=mDL (MSO Mdoc), issuer=Python, issuance_method=credential offer, issue_scenario=cross device, verifier=Web verifier, presentation_scenario=same device, selective_disclosure=specific attributes}) Given the user initiates a mDL (MSO Mdoc) issuance using the Python And the issuance method is credential offer And the issuance is performed on a cross device for the mDL (MSO Mdoc) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a same device for the mDL (MSO Mdoc) Then the verifier verifies the credential successfully with same device for specific attributes 6: Successful credential issuance and presentation with selective disclosure - Python Issuer - mDL ({credential=mDL (MSO Mdoc), issuer=Python, issuance_method=credential offer, issue_scenario=cross device, verifier=Web verifier, presentation_scenario=cross device, selective_disclosure=specific attributes}) Given the user initiates a mDL (MSO Mdoc) issuance using the Python And the issuance method is credential offer And the issuance is performed on a cross device for the mDL (MSO Mdoc) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a cross device for the mDL (MSO Mdoc) Then the verifier verifies the credential successfully with cross device for specific attributes 1: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - mDL ({credential=mDL (MSO Mdoc), issuer=Kotlin, issuance_method=from list, issue_scenario=same device, verifier=Web verifier, presentation_scenario=same device, selective_disclosure=specific attributes}) Given the user initiates a mDL (MSO Mdoc) issuance using the Kotlin And the issuance method is from list And the issuance is performed on a same device for the mDL (MSO Mdoc) and from list When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a same device for the mDL (MSO Mdoc) Then the verifier verifies the credential successfully with same device for specific attributes 2: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - mDL ({credential=mDL (MSO Mdoc), issuer=Kotlin, issuance_method=from list, issue_scenario=same device, verifier=Web verifier, presentation_scenario=cross device, selective_disclosure=specific attributes}) Given the user initiates a mDL (MSO Mdoc) issuance using the Kotlin And the issuance method is from list And the issuance is performed on a same device for the mDL (MSO Mdoc) and from list When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a cross device for the mDL (MSO Mdoc) Then the verifier verifies the credential successfully with cross device for specific attributes 3: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - mDL ({credential=mDL (MSO Mdoc), issuer=Kotlin, issuance_method=credential offer, issue_scenario=same device, verifier=Web verifier, presentation_scenario=same device, selective_disclosure=specific attributes}) Given the user initiates a mDL (MSO Mdoc) issuance using the Kotlin And the issuance method is credential offer And the issuance is performed on a same device for the mDL (MSO Mdoc) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a same device for the mDL (MSO Mdoc) Then the verifier verifies the credential successfully with same device for specific attributes 4: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - mDL ({credential=mDL (MSO Mdoc), issuer=Kotlin, issuance_method=credential offer, issue_scenario=same device, verifier=Web verifier, presentation_scenario=cross device, selective_disclosure=specific attributes}) Given the user initiates a mDL (MSO Mdoc) issuance using the Kotlin And the issuance method is credential offer And the issuance is performed on a same device for the mDL (MSO Mdoc) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a cross device for the mDL (MSO Mdoc) Then the verifier verifies the credential successfully with cross device for specific attributes 5: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - mDL ({credential=mDL (MSO Mdoc), issuer=Kotlin, issuance_method=credential offer, issue_scenario=cross device, verifier=Web verifier, presentation_scenario=same device, selective_disclosure=specific attributes}) Given the user initiates a mDL (MSO Mdoc) issuance using the Kotlin And the issuance method is credential offer And the issuance is performed on a cross device for the mDL (MSO Mdoc) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a same device for the mDL (MSO Mdoc) Then the verifier verifies the credential successfully with same device for specific attributes 6: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - mDL ({credential=mDL (MSO Mdoc), issuer=Kotlin, issuance_method=credential offer, issue_scenario=cross device, verifier=Web verifier, presentation_scenario=cross device, selective_disclosure=specific attributes}) Given the user initiates a mDL (MSO Mdoc) issuance using the Kotlin And the issuance method is credential offer And the issuance is performed on a cross device for the mDL (MSO Mdoc) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a cross device for the mDL (MSO Mdoc) Then the verifier verifies the credential successfully with cross device for specific attributes 12 100%
Android > regression tests > automated regression tests > Issuance and presentation - PID (MSO Mdoc) 2 1: Successful credential issuance and presentation with selective disclosure - Python Issuer - PID (MSO Mdoc) ({credential=PID (MSO Mdoc), issuer=Python, issuance_method=from list, issue_scenario=same device, verifier=Web verifier, presentation_scenario=same device, selective_disclosure=specific attributes}) Given the user initiates a PID (MSO Mdoc) issuance using the Python And the issuance method is from list And the issuance is performed on a same device for the PID (MSO Mdoc) and from list When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a same device for the PID (MSO Mdoc) Then the verifier verifies the credential successfully with same device for specific attributes 2: Successful credential issuance and presentation with selective disclosure - Python Issuer - PID (MSO Mdoc) ({credential=PID (MSO Mdoc), issuer=Python, issuance_method=from list, issue_scenario=same device, verifier=Web verifier, presentation_scenario=cross device, selective_disclosure=specific attributes}) Given the user initiates a PID (MSO Mdoc) issuance using the Python And the issuance method is from list And the issuance is performed on a same device for the PID (MSO Mdoc) and from list When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a cross device for the PID (MSO Mdoc) Then the verifier verifies the credential successfully with cross device for specific attributes 3: Successful credential issuance and presentation with selective disclosure - Python Issuer - PID (MSO Mdoc) ({credential=PID (MSO Mdoc), issuer=Python, issuance_method=credential offer, issue_scenario=same device, verifier=Web verifier, presentation_scenario=same device, selective_disclosure=specific attributes}) Given the user initiates a PID (MSO Mdoc) issuance using the Python And the issuance method is credential offer And the issuance is performed on a same device for the PID (MSO Mdoc) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a same device for the PID (MSO Mdoc) Then the verifier verifies the credential successfully with same device for specific attributes 4: Successful credential issuance and presentation with selective disclosure - Python Issuer - PID (MSO Mdoc) ({credential=PID (MSO Mdoc), issuer=Python, issuance_method=credential offer, issue_scenario=same device, verifier=Web verifier, presentation_scenario=cross device, selective_disclosure=specific attributes}) Given the user initiates a PID (MSO Mdoc) issuance using the Python And the issuance method is credential offer And the issuance is performed on a same device for the PID (MSO Mdoc) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a cross device for the PID (MSO Mdoc) Then the verifier verifies the credential successfully with cross device for specific attributes 5: Successful credential issuance and presentation with selective disclosure - Python Issuer - PID (MSO Mdoc) ({credential=PID (MSO Mdoc), issuer=Python, issuance_method=credential offer, issue_scenario=cross device, verifier=Web verifier, presentation_scenario=same device, selective_disclosure=specific attributes}) Given the user initiates a PID (MSO Mdoc) issuance using the Python And the issuance method is credential offer And the issuance is performed on a cross device for the PID (MSO Mdoc) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a same device for the PID (MSO Mdoc) Then the verifier verifies the credential successfully with same device for specific attributes 6: Successful credential issuance and presentation with selective disclosure - Python Issuer - PID (MSO Mdoc) ({credential=PID (MSO Mdoc), issuer=Python, issuance_method=credential offer, issue_scenario=cross device, verifier=Web verifier, presentation_scenario=cross device, selective_disclosure=specific attributes}) Given the user initiates a PID (MSO Mdoc) issuance using the Python And the issuance method is credential offer And the issuance is performed on a cross device for the PID (MSO Mdoc) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a cross device for the PID (MSO Mdoc) Then the verifier verifies the credential successfully with cross device for specific attributes 1: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - PID (MSO Mdoc) ({credential=PID (MSO Mdoc), issuer=Kotlin, issuance_method=from list, issue_scenario=same device, verifier=Web verifier, presentation_scenario=same device, selective_disclosure=specific attributes}) Given the user initiates a PID (MSO Mdoc) issuance using the Kotlin And the issuance method is from list And the issuance is performed on a same device for the PID (MSO Mdoc) and from list When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a same device for the PID (MSO Mdoc) Then the verifier verifies the credential successfully with same device for specific attributes 2: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - PID (MSO Mdoc) ({credential=PID (MSO Mdoc), issuer=Kotlin, issuance_method=from list, issue_scenario=same device, verifier=Web verifier, presentation_scenario=cross device, selective_disclosure=specific attributes}) Given the user initiates a PID (MSO Mdoc) issuance using the Kotlin And the issuance method is from list And the issuance is performed on a same device for the PID (MSO Mdoc) and from list When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a cross device for the PID (MSO Mdoc) Then the verifier verifies the credential successfully with cross device for specific attributes 3: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - PID (MSO Mdoc) ({credential=PID (MSO Mdoc), issuer=Kotlin, issuance_method=credential offer, issue_scenario=same device, verifier=Web verifier, presentation_scenario=same device, selective_disclosure=specific attributes}) Given the user initiates a PID (MSO Mdoc) issuance using the Kotlin And the issuance method is credential offer And the issuance is performed on a same device for the PID (MSO Mdoc) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a same device for the PID (MSO Mdoc) Then the verifier verifies the credential successfully with same device for specific attributes 4: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - PID (MSO Mdoc) ({credential=PID (MSO Mdoc), issuer=Kotlin, issuance_method=credential offer, issue_scenario=same device, verifier=Web verifier, presentation_scenario=cross device, selective_disclosure=specific attributes}) Given the user initiates a PID (MSO Mdoc) issuance using the Kotlin And the issuance method is credential offer And the issuance is performed on a same device for the PID (MSO Mdoc) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a cross device for the PID (MSO Mdoc) Then the verifier verifies the credential successfully with cross device for specific attributes 5: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - PID (MSO Mdoc) ({credential=PID (MSO Mdoc), issuer=Kotlin, issuance_method=credential offer, issue_scenario=cross device, verifier=Web verifier, presentation_scenario=same device, selective_disclosure=specific attributes}) Given the user initiates a PID (MSO Mdoc) issuance using the Kotlin And the issuance method is credential offer And the issuance is performed on a cross device for the PID (MSO Mdoc) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a same device for the PID (MSO Mdoc) Then the verifier verifies the credential successfully with same device for specific attributes 6: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - PID (MSO Mdoc) ({credential=PID (MSO Mdoc), issuer=Kotlin, issuance_method=credential offer, issue_scenario=cross device, verifier=Web verifier, presentation_scenario=cross device, selective_disclosure=specific attributes}) Given the user initiates a PID (MSO Mdoc) issuance using the Kotlin And the issuance method is credential offer And the issuance is performed on a cross device for the PID (MSO Mdoc) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a cross device for the PID (MSO Mdoc) Then the verifier verifies the credential successfully with cross device for specific attributes 12 100%
Android > regression tests > automated regression tests > Issuance and presentation - PID (SD-JWT) 2 1: Successful credential issuance and presentation with selective disclosure - Python Issuer - PID (SD-JWT) ({credential=PID (SD-JWT), issuer=Python, issuance_method=from list, issue_scenario=same device, verifier=Web verifier, presentation_scenario=same device, selective_disclosure=specific attributes}) Given the user initiates a PID (SD-JWT) issuance using the Python And the issuance method is from list And the issuance is performed on a same device for the PID (SD-JWT) and from list When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a same device for the PID (SD-JWT) Then the verifier verifies the credential successfully with same device for specific attributes 2: Successful credential issuance and presentation with selective disclosure - Python Issuer - PID (SD-JWT) ({credential=PID (SD-JWT), issuer=Python, issuance_method=from list, issue_scenario=same device, verifier=Web verifier, presentation_scenario=cross device, selective_disclosure=specific attributes}) Given the user initiates a PID (SD-JWT) issuance using the Python And the issuance method is from list And the issuance is performed on a same device for the PID (SD-JWT) and from list When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a cross device for the PID (SD-JWT) Then the verifier verifies the credential successfully with cross device for specific attributes 3: Successful credential issuance and presentation with selective disclosure - Python Issuer - PID (SD-JWT) ({credential=PID (SD-JWT), issuer=Python, issuance_method=credential offer, issue_scenario=same device, verifier=Web verifier, presentation_scenario=same device, selective_disclosure=specific attributes}) Given the user initiates a PID (SD-JWT) issuance using the Python And the issuance method is credential offer And the issuance is performed on a same device for the PID (SD-JWT) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a same device for the PID (SD-JWT) Then the verifier verifies the credential successfully with same device for specific attributes 4: Successful credential issuance and presentation with selective disclosure - Python Issuer - PID (SD-JWT) ({credential=PID (SD-JWT), issuer=Python, issuance_method=credential offer, issue_scenario=same device, verifier=Web verifier, presentation_scenario=cross device, selective_disclosure=specific attributes}) Given the user initiates a PID (SD-JWT) issuance using the Python And the issuance method is credential offer And the issuance is performed on a same device for the PID (SD-JWT) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a cross device for the PID (SD-JWT) Then the verifier verifies the credential successfully with cross device for specific attributes 5: Successful credential issuance and presentation with selective disclosure - Python Issuer - PID (SD-JWT) ({credential=PID (SD-JWT), issuer=Python, issuance_method=credential offer, issue_scenario=cross device, verifier=Web verifier, presentation_scenario=same device, selective_disclosure=specific attributes}) Given the user initiates a PID (SD-JWT) issuance using the Python And the issuance method is credential offer And the issuance is performed on a cross device for the PID (SD-JWT) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a same device for the PID (SD-JWT) Then the verifier verifies the credential successfully with same device for specific attributes 6: Successful credential issuance and presentation with selective disclosure - Python Issuer - PID (SD-JWT) ({credential=PID (SD-JWT), issuer=Python, issuance_method=credential offer, issue_scenario=cross device, verifier=Web verifier, presentation_scenario=cross device, selective_disclosure=specific attributes}) Given the user initiates a PID (SD-JWT) issuance using the Python And the issuance method is credential offer And the issuance is performed on a cross device for the PID (SD-JWT) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a cross device for the PID (SD-JWT) Then the verifier verifies the credential successfully with cross device for specific attributes 1: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - PID (SD-JWT) ({credential=PID (SD-JWT), issuer=Kotlin, issuance_method=from list, issue_scenario=same device, verifier=Web verifier, presentation_scenario=same device, selective_disclosure=specific attributes}) Given the user initiates a PID (SD-JWT) issuance using the Kotlin And the issuance method is from list And the issuance is performed on a same device for the PID (SD-JWT) and from list When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a same device for the PID (SD-JWT) Then the verifier verifies the credential successfully with same device for specific attributes 2: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - PID (SD-JWT) ({credential=PID (SD-JWT), issuer=Kotlin, issuance_method=from list, issue_scenario=same device, verifier=Web verifier, presentation_scenario=cross device, selective_disclosure=specific attributes}) Given the user initiates a PID (SD-JWT) issuance using the Kotlin And the issuance method is from list And the issuance is performed on a same device for the PID (SD-JWT) and from list When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a cross device for the PID (SD-JWT) Then the verifier verifies the credential successfully with cross device for specific attributes 3: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - PID (SD-JWT) ({credential=PID (SD-JWT), issuer=Kotlin, issuance_method=credential offer, issue_scenario=same device, verifier=Web verifier, presentation_scenario=same device, selective_disclosure=specific attributes}) Given the user initiates a PID (SD-JWT) issuance using the Kotlin And the issuance method is credential offer And the issuance is performed on a same device for the PID (SD-JWT) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a same device for the PID (SD-JWT) Then the verifier verifies the credential successfully with same device for specific attributes 4: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - PID (SD-JWT) ({credential=PID (SD-JWT), issuer=Kotlin, issuance_method=credential offer, issue_scenario=same device, verifier=Web verifier, presentation_scenario=cross device, selective_disclosure=specific attributes}) Given the user initiates a PID (SD-JWT) issuance using the Kotlin And the issuance method is credential offer And the issuance is performed on a same device for the PID (SD-JWT) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a cross device for the PID (SD-JWT) Then the verifier verifies the credential successfully with cross device for specific attributes 5: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - PID (SD-JWT) ({credential=PID (SD-JWT), issuer=Kotlin, issuance_method=credential offer, issue_scenario=cross device, verifier=Web verifier, presentation_scenario=same device, selective_disclosure=specific attributes}) Given the user initiates a PID (SD-JWT) issuance using the Kotlin And the issuance method is credential offer And the issuance is performed on a cross device for the PID (SD-JWT) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a same device for the PID (SD-JWT) Then the verifier verifies the credential successfully with same device for specific attributes 6: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - PID (SD-JWT) ({credential=PID (SD-JWT), issuer=Kotlin, issuance_method=credential offer, issue_scenario=cross device, verifier=Web verifier, presentation_scenario=cross device, selective_disclosure=specific attributes}) Given the user initiates a PID (SD-JWT) issuance using the Kotlin And the issuance method is credential offer And the issuance is performed on a cross device for the PID (SD-JWT) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a cross device for the PID (SD-JWT) Then the verifier verifies the credential successfully with cross device for specific attributes 12 100%
Android > regression tests > automated regression tests > Batch Issuance of Attestations in EUDI Wallet 1 1: Batch Issuance of Attestations in EUDI Wallet ({credential=PID (MSO Mdoc), issuer=Python, issuance_method=from list, issue_scenario=same device}) Given the user initiates a PID (MSO Mdoc) issuance using the Python And the issuance method is from list And the issuance is performed on a same device for the PID (MSO Mdoc) and from list When the issuance flow is completed Then the credential is stored in the Wallet And the issuer service generates multiple attestations And the Wallet shows a counter indicating the total number of attestations issued When the issuer advertised maximum batch size is below the Wallet internal minimum threshold Then the issuance process continues with the issuer's maximum batch size And the Wallet saves the attestations based on the issuer-defined batch size 2: Batch Issuance of Attestations in EUDI Wallet ({credential=PID (MSO Mdoc), issuer=Kotlin, issuance_method=from list, issue_scenario=same device}) Given the user initiates a PID (MSO Mdoc) issuance using the Kotlin And the issuance method is from list And the issuance is performed on a same device for the PID (MSO Mdoc) and from list When the issuance flow is completed Then the credential is stored in the Wallet And the issuer service generates multiple attestations And the Wallet shows a counter indicating the total number of attestations issued When the issuer advertised maximum batch size is below the Wallet internal minimum threshold Then the issuance process continues with the issuer's maximum batch size And the Wallet saves the attestations based on the issuer-defined batch size 3: Batch Issuance of Attestations in EUDI Wallet ({credential=PID (MSO Mdoc), issuer=Python, issuance_method=credential offer, issue_scenario=same device}) Given the user initiates a PID (MSO Mdoc) issuance using the Python And the issuance method is credential offer And the issuance is performed on a same device for the PID (MSO Mdoc) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet And the issuer service generates multiple attestations And the Wallet shows a counter indicating the total number of attestations issued When the issuer advertised maximum batch size is below the Wallet internal minimum threshold Then the issuance process continues with the issuer's maximum batch size And the Wallet saves the attestations based on the issuer-defined batch size 4: Batch Issuance of Attestations in EUDI Wallet ({credential=PID (MSO Mdoc), issuer=Kotlin, issuance_method=credential offer, issue_scenario=same device}) Given the user initiates a PID (MSO Mdoc) issuance using the Kotlin And the issuance method is credential offer And the issuance is performed on a same device for the PID (MSO Mdoc) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet And the issuer service generates multiple attestations And the Wallet shows a counter indicating the total number of attestations issued When the issuer advertised maximum batch size is below the Wallet internal minimum threshold Then the issuance process continues with the issuer's maximum batch size And the Wallet saves the attestations based on the issuer-defined batch size 5: Batch Issuance of Attestations in EUDI Wallet ({credential=PID (MSO Mdoc), issuer=Python, issuance_method=credential offer, issue_scenario=cross device}) Given the user initiates a PID (MSO Mdoc) issuance using the Python And the issuance method is credential offer And the issuance is performed on a cross device for the PID (MSO Mdoc) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet And the issuer service generates multiple attestations And the Wallet shows a counter indicating the total number of attestations issued When the issuer advertised maximum batch size is below the Wallet internal minimum threshold Then the issuance process continues with the issuer's maximum batch size And the Wallet saves the attestations based on the issuer-defined batch size 6: Batch Issuance of Attestations in EUDI Wallet ({credential=PID (MSO Mdoc), issuer=Kotlin, issuance_method=credential offer, issue_scenario=cross device}) Given the user initiates a PID (MSO Mdoc) issuance using the Kotlin And the issuance method is credential offer And the issuance is performed on a cross device for the PID (MSO Mdoc) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet And the issuer service generates multiple attestations And the Wallet shows a counter indicating the total number of attestations issued When the issuer advertised maximum batch size is below the Wallet internal minimum threshold Then the issuance process continues with the issuer's maximum batch size And the Wallet saves the attestations based on the issuer-defined batch size 6 100%
Android > regression tests > automated regression tests > Pre-authorization code same device 1 Given the user is accessing the issuer service When the user selects to issue a document using pre-authorization Then the user provides their personal information And a transaction code is generated And the user chooses to register through the EUDI wallet app And the user is navigated to the EUDI wallet application And the user provides the PIN When the issuer request is shown in the wallet app Then the user selects ISSUE button And the Wallet app prompts for the transaction code And the user enters the transaction code received from the Issuer And the Wallet application shows a successful issuance message And the user selects the CONTINUE button Then the document appears on the documents screen 1 100%
Android > regression tests > automated regression tests > Presentation of Batch Issued Attestations in EUDI Wallet 1 1: Relying Party initiated presentation flow ({credential=PID (MSO Mdoc), issuer=Python, issuance_method=from list, issue_scenario=same device, verifier=Web verifier, presentation_scenario=same device}) Given the user is registered to a valid EUDI Wallet on their mobile device And the EUDI Wallet and the Relying Party User Interface reside on the same device And there is an active internet connection Given the user initiates a PID (MSO Mdoc) issuance using the Python And the issuance method is from list And the issuance is performed on a same device for the PID (MSO Mdoc) and from list When the issuance flow is completed Then the credential is stored in the Wallet And the user accesses the Relying Party service through their mobile device using Web verifier When the user chooses to present an attestation type Then the Relying Party service navigates the user to the EUDI Wallet When the user is unable to authenticate using a six-digit PIN or Biometrics Then the Wallet displays an authentication error And the user is allowed to attempt the authentication again When the user verifies their identity using a six-digit PIN or Biometrics And the authentication is completed successfully Then the EUDI Wallet notifies the user that the Relying Party is requesting an attestation with same device 2: Relying Party initiated presentation flow ({credential=PID (MSO Mdoc), issuer=Kotlin, issuance_method=from list, issue_scenario=same device, verifier=Web verifier, presentation_scenario=same device}) Given the user is registered to a valid EUDI Wallet on their mobile device And the EUDI Wallet and the Relying Party User Interface reside on the same device And there is an active internet connection Given the user initiates a PID (MSO Mdoc) issuance using the Kotlin And the issuance method is from list And the issuance is performed on a same device for the PID (MSO Mdoc) and from list When the issuance flow is completed Then the credential is stored in the Wallet And the user accesses the Relying Party service through their mobile device using Web verifier When the user chooses to present an attestation type Then the Relying Party service navigates the user to the EUDI Wallet When the user is unable to authenticate using a six-digit PIN or Biometrics Then the Wallet displays an authentication error And the user is allowed to attempt the authentication again When the user verifies their identity using a six-digit PIN or Biometrics And the authentication is completed successfully Then the EUDI Wallet notifies the user that the Relying Party is requesting an attestation with same device 2 100%
Android > regression tests > automated regression tests > EUDI Wallet Online Document Presentation 1 1: User can cancel and then complete an online data sharing presentation ({credential=PID (MSO Mdoc), issuer=Python}) Given the user issues a PID (MSO Mdoc) attestation using Python And the user is on the Home screen of the Wallet And a Relying Party renders a presentation request as a QR code When the user opens the Online option from the Authenticate section And the Wallet scans the Relying Party's presentation request QR code Then the Wallet displays the attestation details requested for sharing When the user cancels the presentation request Then the user returns to the Wallet Home screen And a Relying Party renders a presentation request as a QR code When the user opens the Online option from the Authenticate section And the Wallet scans the Relying Party's presentation request QR code Then the Wallet displays the attestation details requested for sharing When the user selects the Share button And the user enters their six-digit PIN correctly Then a success message is displayed for the successful presentation of the PID When the user closes the success screen Then the user returns to the Wallet Home screen 1 100%
Android > regression tests > automated regression tests > Sign Document through EUDI Wallet 1 1: Sign a document through the EUDI Wallet ({issuer=Kotlin}) Given the user uploads a document and an attestation using Kotlin and selects a QTSP When the EUDI Wallet fetches the Credential ID details from the QTSP Then the EUDI Wallet displays the Credential ID details to the user And the user agrees to proceed with the signing operation When the user opts not to proceed Then the user selects the Abort operation option And the EUDI Wallet redirects the user to the main page When the EUDI Wallet asks the user to consent to the release of the requested attestation And the user successfully authenticates in the Wallet Then the EUDI Wallet shares the requested attestation with the QTSP And a success screen appears with the signed document When the EUDI Wallet obtains the signed document Then the EUDI Wallet allows the user to share the document or close the process 2: Sign a document through the EUDI Wallet ({issuer=Python}) Given the user uploads a document and an attestation using Python and selects a QTSP When the EUDI Wallet fetches the Credential ID details from the QTSP Then the EUDI Wallet displays the Credential ID details to the user And the user agrees to proceed with the signing operation When the user opts not to proceed Then the user selects the Abort operation option And the EUDI Wallet redirects the user to the main page When the EUDI Wallet asks the user to consent to the release of the requested attestation And the user successfully authenticates in the Wallet Then the EUDI Wallet shares the requested attestation with the QTSP And a success screen appears with the signed document When the EUDI Wallet obtains the signed document Then the EUDI Wallet allows the user to share the document or close the process 2 100%
Android > regression tests > automated regression tests > View, bookmark and manage attestations in the EUDI Wallet 1 1: View, bookmark, inspect and delete an attestation through the EUDI Wallet ({credential=PID (MSO Mdoc), issuer=Python}) Given the user issues a PID (MSO Mdoc) attestation using Python And the user is on the Home screen of the Wallet When the user opens the Documents screen Then the Documents screen lists the issued attestations When the user taps on an attestation from the list Then the attestation details are displayed And the attestation details are blurred by default And an eye icon is shown to reveal the attestation details When the user taps on the eye icon Then the attestation details are no longer blurred And the user can view the full attestation details When the user taps the bookmark icon on the attestation Then the attestation gets marked as bookmarked And the bookmark icon updates to indicate the bookmarked state When the user opens the issuer details from the attestation Then the issuer details are displayed to the user When the user closes the attestation details without deleting it Then the user lands back on the Documents screen When the user reopens the attestation and selects the delete option Then the attestation gets removed from the EUDI Wallet And the Documents screen no longer lists the deleted attestation 2: View, bookmark, inspect and delete an attestation through the EUDI Wallet ({credential=PID (MSO Mdoc), issuer=Kotlin}) Given the user issues a PID (MSO Mdoc) attestation using Kotlin And the user is on the Home screen of the Wallet When the user opens the Documents screen Then the Documents screen lists the issued attestations When the user taps on an attestation from the list Then the attestation details are displayed And the attestation details are blurred by default And an eye icon is shown to reveal the attestation details When the user taps on the eye icon Then the attestation details are no longer blurred And the user can view the full attestation details When the user taps the bookmark icon on the attestation Then the attestation gets marked as bookmarked And the bookmark icon updates to indicate the bookmarked state When the user opens the issuer details from the attestation Then the issuer details are displayed to the user When the user closes the attestation details without deleting it Then the user lands back on the Documents screen When the user reopens the attestation and selects the delete option Then the attestation gets removed from the EUDI Wallet And the Documents screen no longer lists the deleted attestation 2 100%
Ios > regression tests > automated regression tests > Issuing and storing attestations in the EUDI Wallet via QR code 1 1: Add a document to the EUDI Wallet by scanning a QR code ({issuer=Python}) Given the user visits the Issuer service, generates a QR code for a PID attestation using Python and returns to the Home screen of the Wallet When the user opens the Documents screen Then the Documents screen is displayed When the user taps the add document button on the Documents screen Then the wallet displays the Add document screen When the user selects the option to scan a QR code Then the wallet opens the scanner to scan the QR code rendered by the Issuer When the user scans a valid QR code rendered by the Issuer Then the wallet displays the credential offer with the attestation to be issued and the name of the issuer When the user selects the Cancel button on the credential offer Then the issuing process is canceled And the user is returned to the Documents screen When the user scans a valid QR code rendered by the Issuer And the user selects the Add document button on the credential offer Then the user proceeds with the attestation issuing flow And the wallet displays a success screen with the details of the issued attestation When the user closes the success screen Then the attestation is added to the EUDI Wallet 2: Add a document to the EUDI Wallet by scanning a QR code ({issuer=Kotlin}) Given the user visits the Issuer service, generates a QR code for a PID attestation using Kotlin and returns to the Home screen of the Wallet When the user opens the Documents screen Then the Documents screen is displayed When the user taps the add document button on the Documents screen Then the wallet displays the Add document screen When the user selects the option to scan a QR code Then the wallet opens the scanner to scan the QR code rendered by the Issuer When the user scans a valid QR code rendered by the Issuer Then the wallet displays the credential offer with the attestation to be issued and the name of the issuer When the user selects the Cancel button on the credential offer Then the issuing process is canceled And the user is returned to the Documents screen When the user scans a valid QR code rendered by the Issuer And the user selects the Add document button on the credential offer Then the user proceeds with the attestation issuing flow And the wallet displays a success screen with the details of the issued attestation When the user closes the success screen Then the attestation is added to the EUDI Wallet 2 100%
Ios > regression tests > automated regression tests > Deferred Credential Issuance 1 1: Completing the deferred credential delivery process with Python Issuer ({issuer=Python}) Given the user is accessing Python service When the user chooses to deliver a deferred credential to the wallet with Python Then the EUDI Wallet application is opened And the issuance information is displayed to the user for Python Then the user selects the ISSUE button for Python And the user is redirected to the issuer service for authentication and authorization for Python When the user completes authentication and confirms the issuance for Python And the user is navigated to the EUDI wallet application And a notification indicates that the credential request is being processed When the user dismisses the notification by pressing OK And the user is on the Home page And the document is displayed as unavailable with a pending status When the issuer provides the requested credential to the wallet Then the user receives a confirmation message indicating that the document has been issued When the user chooses to inspect the document details Then the issued credential information is displayed for Python And the user presses the X button to close the document Then the document details are no longer displayed And the document appears on the documents screen for Python 2: Completing the deferred credential delivery process with Python Issuer ({issuer=Kotlin}) Given the user is accessing Kotlin service When the user chooses to deliver a deferred credential to the wallet with Kotlin Then the EUDI Wallet application is opened And the issuance information is displayed to the user for Kotlin Then the user selects the ISSUE button for Kotlin And the user is redirected to the issuer service for authentication and authorization for Kotlin When the user completes authentication and confirms the issuance for Kotlin And the user is navigated to the EUDI wallet application And a notification indicates that the credential request is being processed When the user dismisses the notification by pressing OK And the user is on the Home page And the document is displayed as unavailable with a pending status When the issuer provides the requested credential to the wallet Then the user receives a confirmation message indicating that the document has been issued When the user chooses to inspect the document details Then the issued credential information is displayed for Kotlin And the user presses the X button to close the document Then the document details are no longer displayed And the document appears on the documents screen for Kotlin 2 100%
Ios > regression tests > automated regression tests > EUDI Wallet Documents Screen 1 1: Documents screen consolidates and lists issued attestations ({credential=PID (MSO Mdoc), issuer=Python}) Given the user issues a PID (MSO Mdoc) attestation using Python And the user issues the second attestation for Python And the user is on the Home screen of the Wallet Then the bottom navigation bar shows the Home, Documents, and History tabs When the user opens the Documents screen Then the Documents tab becomes highlighted after selection And the Documents screen provides a Search bar And the Documents screen provides a Filter control And the Documents screen lists the issued attestations And the listed attestations are organized by category And each attestation card shows the attestation name, the issuer, and the validity end date When the user taps twice on an attestation from the list Then the attestation details are displayed 2: Documents screen consolidates and lists issued attestations ({credential=PID (MSO Mdoc), issuer=Kotlin}) Given the user issues a PID (MSO Mdoc) attestation using Kotlin And the user issues the second attestation for Kotlin And the user is on the Home screen of the Wallet Then the bottom navigation bar shows the Home, Documents, and History tabs When the user opens the Documents screen Then the Documents tab becomes highlighted after selection And the Documents screen provides a Search bar And the Documents screen provides a Filter control And the Documents screen lists the issued attestations And the listed attestations are organized by category And each attestation card shows the attestation name, the issuer, and the validity end date When the user taps twice on an attestation from the list Then the attestation details are displayed 2 100%
Ios > regression tests > automated regression tests > EUDI Wallet Home Screen 1 Given the user is viewing the EUDI Wallet Home screen Then the bottom navigation bar displays Home, Documents, and Transactions When the user chooses the Home option from the bottom navigation bar Then the Home option appears highlighted And the Home screen presents the Authenticate and Sign a document sections When the user taps the Authenticate section Then the Authenticate section provides In Person and Online options When the user selects the Sign a document section Then the Sign Document screen appears 1 100%
Ios > regression tests > automated regression tests > Issuance and presentation - mDL 2 1: Successful credential issuance and presentation with selective disclosure - Python Issuer - mDL ({credential=mDL (MSO Mdoc), issuer=Python, issuance_method=from list, issue_scenario=same device, verifier=Web verifier, presentation_scenario=same device, selective_disclosure=specific attributes}) Given the user initiates a mDL (MSO Mdoc) issuance using the Python And the issuance method is from list And the issuance is performed on a same device for the mDL (MSO Mdoc) and from list When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a same device for the mDL (MSO Mdoc) Then the verifier verifies the credential successfully with same device for specific attributes 2: Successful credential issuance and presentation with selective disclosure - Python Issuer - mDL ({credential=mDL (MSO Mdoc), issuer=Python, issuance_method=from list, issue_scenario=same device, verifier=Web verifier, presentation_scenario=cross device, selective_disclosure=specific attributes}) Given the user initiates a mDL (MSO Mdoc) issuance using the Python And the issuance method is from list And the issuance is performed on a same device for the mDL (MSO Mdoc) and from list When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a cross device for the mDL (MSO Mdoc) Then the verifier verifies the credential successfully with cross device for specific attributes 3: Successful credential issuance and presentation with selective disclosure - Python Issuer - mDL ({credential=mDL (MSO Mdoc), issuer=Python, issuance_method=credential offer, issue_scenario=same device, verifier=Web verifier, presentation_scenario=same device, selective_disclosure=specific attributes}) Given the user initiates a mDL (MSO Mdoc) issuance using the Python And the issuance method is credential offer And the issuance is performed on a same device for the mDL (MSO Mdoc) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a same device for the mDL (MSO Mdoc) Then the verifier verifies the credential successfully with same device for specific attributes 4: Successful credential issuance and presentation with selective disclosure - Python Issuer - mDL ({credential=mDL (MSO Mdoc), issuer=Python, issuance_method=credential offer, issue_scenario=same device, verifier=Web verifier, presentation_scenario=cross device, selective_disclosure=specific attributes}) Given the user initiates a mDL (MSO Mdoc) issuance using the Python And the issuance method is credential offer And the issuance is performed on a same device for the mDL (MSO Mdoc) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a cross device for the mDL (MSO Mdoc) Then the verifier verifies the credential successfully with cross device for specific attributes 5: Successful credential issuance and presentation with selective disclosure - Python Issuer - mDL ({credential=mDL (MSO Mdoc), issuer=Python, issuance_method=credential offer, issue_scenario=cross device, verifier=Web verifier, presentation_scenario=same device, selective_disclosure=specific attributes}) Given the user initiates a mDL (MSO Mdoc) issuance using the Python And the issuance method is credential offer And the issuance is performed on a cross device for the mDL (MSO Mdoc) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a same device for the mDL (MSO Mdoc) Then the verifier verifies the credential successfully with same device for specific attributes 6: Successful credential issuance and presentation with selective disclosure - Python Issuer - mDL ({credential=mDL (MSO Mdoc), issuer=Python, issuance_method=credential offer, issue_scenario=cross device, verifier=Web verifier, presentation_scenario=cross device, selective_disclosure=specific attributes}) Given the user initiates a mDL (MSO Mdoc) issuance using the Python And the issuance method is credential offer And the issuance is performed on a cross device for the mDL (MSO Mdoc) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a cross device for the mDL (MSO Mdoc) Then the verifier verifies the credential successfully with cross device for specific attributes 1: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - mDL ({credential=mDL (MSO Mdoc), issuer=Kotlin, issuance_method=from list, issue_scenario=same device, verifier=Web verifier, presentation_scenario=same device, selective_disclosure=specific attributes}) Given the user initiates a mDL (MSO Mdoc) issuance using the Kotlin And the issuance method is from list And the issuance is performed on a same device for the mDL (MSO Mdoc) and from list When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a same device for the mDL (MSO Mdoc) Then the verifier verifies the credential successfully with same device for specific attributes 2: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - mDL ({credential=mDL (MSO Mdoc), issuer=Kotlin, issuance_method=from list, issue_scenario=same device, verifier=Web verifier, presentation_scenario=cross device, selective_disclosure=specific attributes}) Given the user initiates a mDL (MSO Mdoc) issuance using the Kotlin And the issuance method is from list And the issuance is performed on a same device for the mDL (MSO Mdoc) and from list When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a cross device for the mDL (MSO Mdoc) Then the verifier verifies the credential successfully with cross device for specific attributes 3: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - mDL ({credential=mDL (MSO Mdoc), issuer=Kotlin, issuance_method=credential offer, issue_scenario=same device, verifier=Web verifier, presentation_scenario=same device, selective_disclosure=specific attributes}) Given the user initiates a mDL (MSO Mdoc) issuance using the Kotlin And the issuance method is credential offer And the issuance is performed on a same device for the mDL (MSO Mdoc) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a same device for the mDL (MSO Mdoc) Then the verifier verifies the credential successfully with same device for specific attributes 4: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - mDL ({credential=mDL (MSO Mdoc), issuer=Kotlin, issuance_method=credential offer, issue_scenario=same device, verifier=Web verifier, presentation_scenario=cross device, selective_disclosure=specific attributes}) Given the user initiates a mDL (MSO Mdoc) issuance using the Kotlin And the issuance method is credential offer And the issuance is performed on a same device for the mDL (MSO Mdoc) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a cross device for the mDL (MSO Mdoc) Then the verifier verifies the credential successfully with cross device for specific attributes 5: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - mDL ({credential=mDL (MSO Mdoc), issuer=Kotlin, issuance_method=credential offer, issue_scenario=cross device, verifier=Web verifier, presentation_scenario=same device, selective_disclosure=specific attributes}) Given the user initiates a mDL (MSO Mdoc) issuance using the Kotlin And the issuance method is credential offer And the issuance is performed on a cross device for the mDL (MSO Mdoc) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a same device for the mDL (MSO Mdoc) Then the verifier verifies the credential successfully with same device for specific attributes 6: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - mDL ({credential=mDL (MSO Mdoc), issuer=Kotlin, issuance_method=credential offer, issue_scenario=cross device, verifier=Web verifier, presentation_scenario=cross device, selective_disclosure=specific attributes}) Given the user initiates a mDL (MSO Mdoc) issuance using the Kotlin And the issuance method is credential offer And the issuance is performed on a cross device for the mDL (MSO Mdoc) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a cross device for the mDL (MSO Mdoc) Then the verifier verifies the credential successfully with cross device for specific attributes 12 100%
Ios > regression tests > automated regression tests > Issuance and presentation - PID (MSO Mdoc) 2 1: Successful credential issuance and presentation with selective disclosure - Python Issuer - PID (MSO Mdoc) ({credential=PID (MSO Mdoc), issuer=Python, issuance_method=from list, issue_scenario=same device, verifier=Web verifier, presentation_scenario=same device, selective_disclosure=specific attributes}) Given the user initiates a PID (MSO Mdoc) issuance using the Python And the issuance method is from list And the issuance is performed on a same device for the PID (MSO Mdoc) and from list When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a same device for the PID (MSO Mdoc) Then the verifier verifies the credential successfully with same device for specific attributes 2: Successful credential issuance and presentation with selective disclosure - Python Issuer - PID (MSO Mdoc) ({credential=PID (MSO Mdoc), issuer=Python, issuance_method=from list, issue_scenario=same device, verifier=Web verifier, presentation_scenario=cross device, selective_disclosure=specific attributes}) Given the user initiates a PID (MSO Mdoc) issuance using the Python And the issuance method is from list And the issuance is performed on a same device for the PID (MSO Mdoc) and from list When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a cross device for the PID (MSO Mdoc) Then the verifier verifies the credential successfully with cross device for specific attributes 3: Successful credential issuance and presentation with selective disclosure - Python Issuer - PID (MSO Mdoc) ({credential=PID (MSO Mdoc), issuer=Python, issuance_method=credential offer, issue_scenario=same device, verifier=Web verifier, presentation_scenario=same device, selective_disclosure=specific attributes}) Given the user initiates a PID (MSO Mdoc) issuance using the Python And the issuance method is credential offer And the issuance is performed on a same device for the PID (MSO Mdoc) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a same device for the PID (MSO Mdoc) Then the verifier verifies the credential successfully with same device for specific attributes 4: Successful credential issuance and presentation with selective disclosure - Python Issuer - PID (MSO Mdoc) ({credential=PID (MSO Mdoc), issuer=Python, issuance_method=credential offer, issue_scenario=same device, verifier=Web verifier, presentation_scenario=cross device, selective_disclosure=specific attributes}) Given the user initiates a PID (MSO Mdoc) issuance using the Python And the issuance method is credential offer And the issuance is performed on a same device for the PID (MSO Mdoc) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a cross device for the PID (MSO Mdoc) Then the verifier verifies the credential successfully with cross device for specific attributes 5: Successful credential issuance and presentation with selective disclosure - Python Issuer - PID (MSO Mdoc) ({credential=PID (MSO Mdoc), issuer=Python, issuance_method=credential offer, issue_scenario=cross device, verifier=Web verifier, presentation_scenario=same device, selective_disclosure=specific attributes}) Given the user initiates a PID (MSO Mdoc) issuance using the Python And the issuance method is credential offer And the issuance is performed on a cross device for the PID (MSO Mdoc) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a same device for the PID (MSO Mdoc) Then the verifier verifies the credential successfully with same device for specific attributes 6: Successful credential issuance and presentation with selective disclosure - Python Issuer - PID (MSO Mdoc) ({credential=PID (MSO Mdoc), issuer=Python, issuance_method=credential offer, issue_scenario=cross device, verifier=Web verifier, presentation_scenario=cross device, selective_disclosure=specific attributes}) Given the user initiates a PID (MSO Mdoc) issuance using the Python And the issuance method is credential offer And the issuance is performed on a cross device for the PID (MSO Mdoc) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a cross device for the PID (MSO Mdoc) Then the verifier verifies the credential successfully with cross device for specific attributes 1: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - PID (MSO Mdoc) ({credential=PID (MSO Mdoc), issuer=Kotlin, issuance_method=from list, issue_scenario=same device, verifier=Web verifier, presentation_scenario=same device, selective_disclosure=specific attributes}) Given the user initiates a PID (MSO Mdoc) issuance using the Kotlin And the issuance method is from list And the issuance is performed on a same device for the PID (MSO Mdoc) and from list When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a same device for the PID (MSO Mdoc) Then the verifier verifies the credential successfully with same device for specific attributes 2: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - PID (MSO Mdoc) ({credential=PID (MSO Mdoc), issuer=Kotlin, issuance_method=from list, issue_scenario=same device, verifier=Web verifier, presentation_scenario=cross device, selective_disclosure=specific attributes}) Given the user initiates a PID (MSO Mdoc) issuance using the Kotlin And the issuance method is from list And the issuance is performed on a same device for the PID (MSO Mdoc) and from list When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a cross device for the PID (MSO Mdoc) Then the verifier verifies the credential successfully with cross device for specific attributes 3: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - PID (MSO Mdoc) ({credential=PID (MSO Mdoc), issuer=Kotlin, issuance_method=credential offer, issue_scenario=same device, verifier=Web verifier, presentation_scenario=same device, selective_disclosure=specific attributes}) Given the user initiates a PID (MSO Mdoc) issuance using the Kotlin And the issuance method is credential offer And the issuance is performed on a same device for the PID (MSO Mdoc) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a same device for the PID (MSO Mdoc) Then the verifier verifies the credential successfully with same device for specific attributes 4: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - PID (MSO Mdoc) ({credential=PID (MSO Mdoc), issuer=Kotlin, issuance_method=credential offer, issue_scenario=same device, verifier=Web verifier, presentation_scenario=cross device, selective_disclosure=specific attributes}) Given the user initiates a PID (MSO Mdoc) issuance using the Kotlin And the issuance method is credential offer And the issuance is performed on a same device for the PID (MSO Mdoc) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a cross device for the PID (MSO Mdoc) Then the verifier verifies the credential successfully with cross device for specific attributes 5: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - PID (MSO Mdoc) ({credential=PID (MSO Mdoc), issuer=Kotlin, issuance_method=credential offer, issue_scenario=cross device, verifier=Web verifier, presentation_scenario=same device, selective_disclosure=specific attributes}) Given the user initiates a PID (MSO Mdoc) issuance using the Kotlin And the issuance method is credential offer And the issuance is performed on a cross device for the PID (MSO Mdoc) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a same device for the PID (MSO Mdoc) Then the verifier verifies the credential successfully with same device for specific attributes 6: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - PID (MSO Mdoc) ({credential=PID (MSO Mdoc), issuer=Kotlin, issuance_method=credential offer, issue_scenario=cross device, verifier=Web verifier, presentation_scenario=cross device, selective_disclosure=specific attributes}) Given the user initiates a PID (MSO Mdoc) issuance using the Kotlin And the issuance method is credential offer And the issuance is performed on a cross device for the PID (MSO Mdoc) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a cross device for the PID (MSO Mdoc) Then the verifier verifies the credential successfully with cross device for specific attributes 12 100%
Ios > regression tests > automated regression tests > Issuance and presentation - PID (SD-JWT) 2 1: Successful credential issuance and presentation with selective disclosure - Python Issuer - PID (SD-JWT) ({credential=PID (SD-JWT), issuer=Python, issuance_method=from list, issue_scenario=same device, verifier=Web verifier, presentation_scenario=same device, selective_disclosure=specific attributes}) Given the user initiates a PID (SD-JWT) issuance using the Python And the issuance method is from list And the issuance is performed on a same device for the PID (SD-JWT) and from list When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a same device for the PID (SD-JWT) Then the verifier verifies the credential successfully with same device for specific attributes 2: Successful credential issuance and presentation with selective disclosure - Python Issuer - PID (SD-JWT) ({credential=PID (SD-JWT), issuer=Python, issuance_method=from list, issue_scenario=same device, verifier=Web verifier, presentation_scenario=cross device, selective_disclosure=specific attributes}) Given the user initiates a PID (SD-JWT) issuance using the Python And the issuance method is from list And the issuance is performed on a same device for the PID (SD-JWT) and from list When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a cross device for the PID (SD-JWT) Then the verifier verifies the credential successfully with cross device for specific attributes 3: Successful credential issuance and presentation with selective disclosure - Python Issuer - PID (SD-JWT) ({credential=PID (SD-JWT), issuer=Python, issuance_method=credential offer, issue_scenario=same device, verifier=Web verifier, presentation_scenario=same device, selective_disclosure=specific attributes}) Given the user initiates a PID (SD-JWT) issuance using the Python And the issuance method is credential offer And the issuance is performed on a same device for the PID (SD-JWT) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a same device for the PID (SD-JWT) Then the verifier verifies the credential successfully with same device for specific attributes 4: Successful credential issuance and presentation with selective disclosure - Python Issuer - PID (SD-JWT) ({credential=PID (SD-JWT), issuer=Python, issuance_method=credential offer, issue_scenario=same device, verifier=Web verifier, presentation_scenario=cross device, selective_disclosure=specific attributes}) Given the user initiates a PID (SD-JWT) issuance using the Python And the issuance method is credential offer And the issuance is performed on a same device for the PID (SD-JWT) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a cross device for the PID (SD-JWT) Then the verifier verifies the credential successfully with cross device for specific attributes 5: Successful credential issuance and presentation with selective disclosure - Python Issuer - PID (SD-JWT) ({credential=PID (SD-JWT), issuer=Python, issuance_method=credential offer, issue_scenario=cross device, verifier=Web verifier, presentation_scenario=same device, selective_disclosure=specific attributes}) Given the user initiates a PID (SD-JWT) issuance using the Python And the issuance method is credential offer And the issuance is performed on a cross device for the PID (SD-JWT) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a same device for the PID (SD-JWT) Then the verifier verifies the credential successfully with same device for specific attributes 6: Successful credential issuance and presentation with selective disclosure - Python Issuer - PID (SD-JWT) ({credential=PID (SD-JWT), issuer=Python, issuance_method=credential offer, issue_scenario=cross device, verifier=Web verifier, presentation_scenario=cross device, selective_disclosure=specific attributes}) Given the user initiates a PID (SD-JWT) issuance using the Python And the issuance method is credential offer And the issuance is performed on a cross device for the PID (SD-JWT) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a cross device for the PID (SD-JWT) Then the verifier verifies the credential successfully with cross device for specific attributes 1: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - PID (SD-JWT) ({credential=PID (SD-JWT), issuer=Kotlin, issuance_method=from list, issue_scenario=same device, verifier=Web verifier, presentation_scenario=same device, selective_disclosure=specific attributes}) Given the user initiates a PID (SD-JWT) issuance using the Kotlin And the issuance method is from list And the issuance is performed on a same device for the PID (SD-JWT) and from list When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a same device for the PID (SD-JWT) Then the verifier verifies the credential successfully with same device for specific attributes 2: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - PID (SD-JWT) ({credential=PID (SD-JWT), issuer=Kotlin, issuance_method=from list, issue_scenario=same device, verifier=Web verifier, presentation_scenario=cross device, selective_disclosure=specific attributes}) Given the user initiates a PID (SD-JWT) issuance using the Kotlin And the issuance method is from list And the issuance is performed on a same device for the PID (SD-JWT) and from list When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a cross device for the PID (SD-JWT) Then the verifier verifies the credential successfully with cross device for specific attributes 3: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - PID (SD-JWT) ({credential=PID (SD-JWT), issuer=Kotlin, issuance_method=credential offer, issue_scenario=same device, verifier=Web verifier, presentation_scenario=same device, selective_disclosure=specific attributes}) Given the user initiates a PID (SD-JWT) issuance using the Kotlin And the issuance method is credential offer And the issuance is performed on a same device for the PID (SD-JWT) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a same device for the PID (SD-JWT) Then the verifier verifies the credential successfully with same device for specific attributes 4: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - PID (SD-JWT) ({credential=PID (SD-JWT), issuer=Kotlin, issuance_method=credential offer, issue_scenario=same device, verifier=Web verifier, presentation_scenario=cross device, selective_disclosure=specific attributes}) Given the user initiates a PID (SD-JWT) issuance using the Kotlin And the issuance method is credential offer And the issuance is performed on a same device for the PID (SD-JWT) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a cross device for the PID (SD-JWT) Then the verifier verifies the credential successfully with cross device for specific attributes 5: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - PID (SD-JWT) ({credential=PID (SD-JWT), issuer=Kotlin, issuance_method=credential offer, issue_scenario=cross device, verifier=Web verifier, presentation_scenario=same device, selective_disclosure=specific attributes}) Given the user initiates a PID (SD-JWT) issuance using the Kotlin And the issuance method is credential offer And the issuance is performed on a cross device for the PID (SD-JWT) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a same device for the PID (SD-JWT) Then the verifier verifies the credential successfully with same device for specific attributes 6: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - PID (SD-JWT) ({credential=PID (SD-JWT), issuer=Kotlin, issuance_method=credential offer, issue_scenario=cross device, verifier=Web verifier, presentation_scenario=cross device, selective_disclosure=specific attributes}) Given the user initiates a PID (SD-JWT) issuance using the Kotlin And the issuance method is credential offer And the issuance is performed on a cross device for the PID (SD-JWT) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the Web verifier And the user shares specific attributes And the presentation is performed on a cross device for the PID (SD-JWT) Then the verifier verifies the credential successfully with cross device for specific attributes 12 100%
Ios > regression tests > automated regression tests > Batch Issuance of Attestations in EUDI Wallet 1 1: Batch Issuance of Attestations in EUDI Wallet ({credential=PID (MSO Mdoc), issuer=Python, issuance_method=from list, issue_scenario=same device}) Given the user initiates a PID (MSO Mdoc) issuance using the Python And the issuance method is from list And the issuance is performed on a same device for the PID (MSO Mdoc) and from list When the issuance flow is completed Then the credential is stored in the Wallet And the issuer service generates multiple attestations And the Wallet shows a counter indicating the total number of attestations issued When the issuer advertised maximum batch size is below the Wallet internal minimum threshold Then the issuance process continues with the issuer's maximum batch size And the Wallet saves the attestations based on the issuer-defined batch size 2: Batch Issuance of Attestations in EUDI Wallet ({credential=PID (MSO Mdoc), issuer=Kotlin, issuance_method=from list, issue_scenario=same device}) Given the user initiates a PID (MSO Mdoc) issuance using the Kotlin And the issuance method is from list And the issuance is performed on a same device for the PID (MSO Mdoc) and from list When the issuance flow is completed Then the credential is stored in the Wallet And the issuer service generates multiple attestations And the Wallet shows a counter indicating the total number of attestations issued When the issuer advertised maximum batch size is below the Wallet internal minimum threshold Then the issuance process continues with the issuer's maximum batch size And the Wallet saves the attestations based on the issuer-defined batch size 3: Batch Issuance of Attestations in EUDI Wallet ({credential=PID (MSO Mdoc), issuer=Python, issuance_method=credential offer, issue_scenario=same device}) Given the user initiates a PID (MSO Mdoc) issuance using the Python And the issuance method is credential offer And the issuance is performed on a same device for the PID (MSO Mdoc) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet And the issuer service generates multiple attestations And the Wallet shows a counter indicating the total number of attestations issued When the issuer advertised maximum batch size is below the Wallet internal minimum threshold Then the issuance process continues with the issuer's maximum batch size And the Wallet saves the attestations based on the issuer-defined batch size 4: Batch Issuance of Attestations in EUDI Wallet ({credential=PID (MSO Mdoc), issuer=Kotlin, issuance_method=credential offer, issue_scenario=same device}) Given the user initiates a PID (MSO Mdoc) issuance using the Kotlin And the issuance method is credential offer And the issuance is performed on a same device for the PID (MSO Mdoc) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet And the issuer service generates multiple attestations And the Wallet shows a counter indicating the total number of attestations issued When the issuer advertised maximum batch size is below the Wallet internal minimum threshold Then the issuance process continues with the issuer's maximum batch size And the Wallet saves the attestations based on the issuer-defined batch size 5: Batch Issuance of Attestations in EUDI Wallet ({credential=PID (MSO Mdoc), issuer=Python, issuance_method=credential offer, issue_scenario=cross device}) Given the user initiates a PID (MSO Mdoc) issuance using the Python And the issuance method is credential offer And the issuance is performed on a cross device for the PID (MSO Mdoc) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet And the issuer service generates multiple attestations And the Wallet shows a counter indicating the total number of attestations issued When the issuer advertised maximum batch size is below the Wallet internal minimum threshold Then the issuance process continues with the issuer's maximum batch size And the Wallet saves the attestations based on the issuer-defined batch size 6: Batch Issuance of Attestations in EUDI Wallet ({credential=PID (MSO Mdoc), issuer=Kotlin, issuance_method=credential offer, issue_scenario=cross device}) Given the user initiates a PID (MSO Mdoc) issuance using the Kotlin And the issuance method is credential offer And the issuance is performed on a cross device for the PID (MSO Mdoc) and credential offer When the issuance flow is completed Then the credential is stored in the Wallet And the issuer service generates multiple attestations And the Wallet shows a counter indicating the total number of attestations issued When the issuer advertised maximum batch size is below the Wallet internal minimum threshold Then the issuance process continues with the issuer's maximum batch size And the Wallet saves the attestations based on the issuer-defined batch size 6 100%
Ios > regression tests > automated regression tests > Pre-authorization code same device 1 Given the user is accessing the issuer service When the user selects to issue a document using pre-authorization Then the user provides their personal information And a transaction code is generated And the user chooses to register through the EUDI wallet app And the user is navigated to the EUDI wallet application And the user provides the PIN When the issuer request is shown in the wallet app Then the user selects ISSUE button And the Wallet app prompts for the transaction code And the user enters the transaction code received from the Issuer And the Wallet application shows a successful issuance message And the user selects the CONTINUE button Then the document appears on the documents screen 1 100%
Ios > regression tests > automated regression tests > Presentation of Batch Issued Attestations in EUDI Wallet 1 1: Relying Party initiated presentation flow ({credential=PID (MSO Mdoc), issuer=Python, issuance_method=from list, issue_scenario=same device, verifier=Web verifier, presentation_scenario=same device}) Given the user is registered to a valid EUDI Wallet on their mobile device And the EUDI Wallet and the Relying Party User Interface reside on the same device And there is an active internet connection Given the user initiates a PID (MSO Mdoc) issuance using the Python And the issuance method is from list And the issuance is performed on a same device for the PID (MSO Mdoc) and from list When the issuance flow is completed Then the credential is stored in the Wallet And the user accesses the Relying Party service through their mobile device using Web verifier When the user chooses to present an attestation type Then the Relying Party service navigates the user to the EUDI Wallet When the user is unable to authenticate using a six-digit PIN or Biometrics Then the Wallet displays an authentication error And the user is allowed to attempt the authentication again When the user verifies their identity using a six-digit PIN or Biometrics And the authentication is completed successfully Then the EUDI Wallet notifies the user that the Relying Party is requesting an attestation with same device 2: Relying Party initiated presentation flow ({credential=PID (MSO Mdoc), issuer=Kotlin, issuance_method=from list, issue_scenario=same device, verifier=Web verifier, presentation_scenario=same device}) Given the user is registered to a valid EUDI Wallet on their mobile device And the EUDI Wallet and the Relying Party User Interface reside on the same device And there is an active internet connection Given the user initiates a PID (MSO Mdoc) issuance using the Kotlin And the issuance method is from list And the issuance is performed on a same device for the PID (MSO Mdoc) and from list When the issuance flow is completed Then the credential is stored in the Wallet And the user accesses the Relying Party service through their mobile device using Web verifier When the user chooses to present an attestation type Then the Relying Party service navigates the user to the EUDI Wallet When the user is unable to authenticate using a six-digit PIN or Biometrics Then the Wallet displays an authentication error And the user is allowed to attempt the authentication again When the user verifies their identity using a six-digit PIN or Biometrics And the authentication is completed successfully Then the EUDI Wallet notifies the user that the Relying Party is requesting an attestation with same device 2 100%
Ios > regression tests > automated regression tests > EUDI Wallet Online Document Presentation 1 1: User can cancel and then complete an online data sharing presentation ({credential=PID (MSO Mdoc), issuer=Python}) Given the user issues a PID (MSO Mdoc) attestation using Python And the user is on the Home screen of the Wallet And a Relying Party renders a presentation request as a QR code When the user opens the Online option from the Authenticate section And the Wallet scans the Relying Party's presentation request QR code Then the Wallet displays the attestation details requested for sharing When the user cancels the presentation request Then the user returns to the Wallet Home screen And a Relying Party renders a presentation request as a QR code When the user opens the Online option from the Authenticate section And the Wallet scans the Relying Party's presentation request QR code Then the Wallet displays the attestation details requested for sharing When the user selects the Share button And the user enters their six-digit PIN correctly Then a success message is displayed for the successful presentation of the PID When the user closes the success screen Then the user returns to the Wallet Home screen 1 100%
Ios > regression tests > automated regression tests > Sign Document through EUDI Wallet 1 1: Sign a document through the EUDI Wallet ({issuer=Python}) Given the user uploads a document and an attestation using Python and selects a QTSP When the EUDI Wallet fetches the Credential ID details from the QTSP Then the EUDI Wallet displays the Credential ID details to the user And the user agrees to proceed with the signing operation When the user opts not to proceed Then the user selects the Abort operation option And the EUDI Wallet redirects the user to the main page When the EUDI Wallet asks the user to consent to the release of the requested attestation And the user successfully authenticates in the Wallet Then the EUDI Wallet shares the requested attestation with the QTSP And a success screen appears with the signed document When the EUDI Wallet obtains the signed document Then the EUDI Wallet allows the user to share the document or close the process 2: Sign a document through the EUDI Wallet ({issuer=Kotlin}) Given the user uploads a document and an attestation using Kotlin and selects a QTSP When the EUDI Wallet fetches the Credential ID details from the QTSP Then the EUDI Wallet displays the Credential ID details to the user And the user agrees to proceed with the signing operation When the user opts not to proceed Then the user selects the Abort operation option And the EUDI Wallet redirects the user to the main page When the EUDI Wallet asks the user to consent to the release of the requested attestation And the user successfully authenticates in the Wallet Then the EUDI Wallet shares the requested attestation with the QTSP And a success screen appears with the signed document When the EUDI Wallet obtains the signed document Then the EUDI Wallet allows the user to share the document or close the process 2 100%
Ios > regression tests > automated regression tests > View, bookmark and manage attestations in the EUDI Wallet 1 1: View, bookmark, inspect and delete an attestation through the EUDI Wallet ({credential=PID (MSO Mdoc), issuer=Python}) Given the user issues a PID (MSO Mdoc) attestation using Python And the user is on the Home screen of the Wallet When the user opens the Documents screen Then the Documents screen lists the issued attestations When the user taps on an attestation from the list Then the attestation details are displayed And the attestation details are blurred by default And an eye icon is shown to reveal the attestation details When the user taps on the eye icon Then the attestation details are no longer blurred And the user can view the full attestation details When the user taps the bookmark icon on the attestation Then the attestation gets marked as bookmarked And the bookmark icon updates to indicate the bookmarked state When the user opens the issuer details from the attestation Then the issuer details are displayed to the user When the user closes the attestation details without deleting it Then the user lands back on the Documents screen When the user reopens the attestation and selects the delete option Then the attestation gets removed from the EUDI Wallet And the Documents screen no longer lists the deleted attestation 2: View, bookmark, inspect and delete an attestation through the EUDI Wallet ({credential=PID (MSO Mdoc), issuer=Kotlin}) Given the user issues a PID (MSO Mdoc) attestation using Kotlin And the user is on the Home screen of the Wallet When the user opens the Documents screen Then the Documents screen lists the issued attestations When the user taps on an attestation from the list Then the attestation details are displayed And the attestation details are blurred by default And an eye icon is shown to reveal the attestation details When the user taps on the eye icon Then the attestation details are no longer blurred And the user can view the full attestation details When the user taps the bookmark icon on the attestation Then the attestation gets marked as bookmarked And the bookmark icon updates to indicate the bookmarked state When the user opens the issuer details from the attestation Then the issuer details are displayed to the user When the user closes the attestation details without deleting it Then the user lands back on the Documents screen When the user reopens the attestation and selects the delete option Then the attestation gets removed from the EUDI Wallet And the Documents screen no longer lists the deleted attestation 2 100%

Key Statistics

Number of Scenarios 16 Total Duration 6d 23h 40m 7s
Total Number of Test Cases 114 Fastest Test 51s
Number of Manual Test Cases 0 Slowest Test 23m 22s
Tests Started Sep 23, 2026 14:08:24 Average Execution Time 5m 28s
Tests Finished Sep 30, 2026 13:48:32 Total Execution Time 10h 24m 28s

Automated Scenarios

## Scenario Context Steps StepsText Started Total Duration Result
Issuing and storing attestations in the EUDI Wallet via QR code Add a document to the EUDI Wallet by scanning a QR code
2 passing test cases
18 Given the user visits the Issuer service, generates a QR code for a PID attestation using <issuer> and returns to the Home screen of the Wallet When the user opens the Documents screen Then the Documents screen is displayed When the user taps the add document button on the Documents screen Then the wallet displays the Add document screen When the user selects the option to scan a QR code Then the wallet opens the scanner to scan the QR code rendered by the Issuer When the user scans a valid QR code rendered by the Issuer Then the wallet displays the credential offer with the attestation to be issued and the name of the issuer When the user selects the Cancel button on the credential offer Then the issuing process is canceled And the user is returned to the Documents screen When the user scans a valid QR code rendered by the Issuer And the user selects the Add document button on the credential offer Then the user proceeds with the attestation issuing flow And the wallet displays a success screen with the details of the issued attestation When the user closes the success screen Then the attestation is added to the EUDI Wallet 15:18:21 15m 40s SUCCESS
Deferred Credential Issuance Completing the deferred credential delivery process with Python Issuer
2 passing test cases
19 Given the user is accessing <issuer> service When the user chooses to deliver a deferred credential to the wallet with <issuer> Then the EUDI Wallet application is opened And the issuance information is displayed to the user for <issuer> Then the user selects the ISSUE button for <issuer> And the user is redirected to the issuer service for authentication and authorization for <issuer> When the user completes authentication and confirms the issuance for <issuer> And the user is navigated to the EUDI wallet application And a notification indicates that the credential request is being processed When the user dismisses the notification by pressing OK And the user is on the Home page And the document is displayed as unavailable with a pending status When the issuer provides the requested credential to the wallet Then the user receives a confirmation message indicating that the document has been issued When the user chooses to inspect the document details Then the issued credential information is displayed for <issuer> And the user presses the X button to close the document Then the document details are no longer displayed And the document appears on the documents screen for <issuer> 15:34:01 7m 24s SUCCESS
EUDI Wallet Documents Screen Documents screen consolidates and lists issued attestations
2 passing test cases
13 Given the user issues a <credential> attestation using <issuer> And the user issues the second attestation for <issuer> And the user is on the Home screen of the Wallet Then the bottom navigation bar shows the Home, Documents, and History tabs When the user opens the Documents screen Then the Documents tab becomes highlighted after selection And the Documents screen provides a Search bar And the Documents screen provides a Filter control And the Documents screen lists the issued attestations And the listed attestations are organized by category And each attestation card shows the attestation name, the issuer, and the validity end date When the user taps twice on an attestation from the list Then the attestation details are displayed 15:41:26 9m 23s SUCCESS
EUDI Wallet Home Screen Bottom navigation bar options 9 Given the user is viewing the EUDI Wallet Home screen Then the bottom navigation bar displays Home, Documents, and Transactions When the user chooses the Home option from the bottom navigation bar Then the Home option appears highlighted And the Home screen presents the Authenticate and Sign a document sections When the user taps the Authenticate section Then the Authenticate section provides In Person and Online options When the user selects the Sign a document section Then the Sign Document screen appears 15:50:49 51s 666ms SUCCESS
Issuance and presentation - mDL Successful credential issuance and presentation with selective disclosure - Python Issuer - mDL
6 passing test cases
9 Given the user initiates a <credential> issuance using the <issuer> And the issuance method is <issuance_method> And the issuance is performed on a <issue_scenario> for the <credential> and <issuance_method> When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the <verifier> And the user shares <selective_disclosure> And the presentation is performed on a <presentation_scenario> for the <credential> Then the verifier verifies the credential successfully with <presentation_scenario> for <selective_disclosure> 14:09:33 45m 19s SUCCESS
Issuance and presentation - mDL Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - mDL
6 passing test cases
9 Given the user initiates a <credential> issuance using the <issuer> And the issuance method is <issuance_method> And the issuance is performed on a <issue_scenario> for the <credential> and <issuance_method> When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the <verifier> And the user shares <selective_disclosure> And the presentation is performed on a <presentation_scenario> for the <credential> Then the verifier verifies the credential successfully with <presentation_scenario> for <selective_disclosure> 14:54:52 25m 45s SUCCESS
Issuance and presentation - PID (MSO Mdoc) Successful credential issuance and presentation with selective disclosure - Python Issuer - PID (MSO Mdoc)
6 passing test cases
9 Given the user initiates a <credential> issuance using the <issuer> And the issuance method is <issuance_method> And the issuance is performed on a <issue_scenario> for the <credential> and <issuance_method> When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the <verifier> And the user shares <selective_disclosure> And the presentation is performed on a <presentation_scenario> for the <credential> Then the verifier verifies the credential successfully with <presentation_scenario> for <selective_disclosure> 14:08:35 50m 4s SUCCESS
Issuance and presentation - PID (MSO Mdoc) Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - PID (MSO Mdoc)
6 passing test cases
9 Given the user initiates a <credential> issuance using the <issuer> And the issuance method is <issuance_method> And the issuance is performed on a <issue_scenario> for the <credential> and <issuance_method> When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the <verifier> And the user shares <selective_disclosure> And the presentation is performed on a <presentation_scenario> for the <credential> Then the verifier verifies the credential successfully with <presentation_scenario> for <selective_disclosure> 14:58:38 30m 18s SUCCESS
Issuance and presentation - PID (SD-JWT) Successful credential issuance and presentation with selective disclosure - Python Issuer - PID (SD-JWT)
6 passing test cases
9 Given the user initiates a <credential> issuance using the <issuer> And the issuance method is <issuance_method> And the issuance is performed on a <issue_scenario> for the <credential> and <issuance_method> When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the <verifier> And the user shares <selective_disclosure> And the presentation is performed on a <presentation_scenario> for the <credential> Then the verifier verifies the credential successfully with <presentation_scenario> for <selective_disclosure> 14:08:24 35m 17s SUCCESS
Issuance and presentation - PID (SD-JWT) Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - PID (SD-JWT)
6 passing test cases
9 Given the user initiates a <credential> issuance using the <issuer> And the issuance method is <issuance_method> And the issuance is performed on a <issue_scenario> for the <credential> and <issuance_method> When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the <verifier> And the user shares <selective_disclosure> And the presentation is performed on a <presentation_scenario> for the <credential> Then the verifier verifies the credential successfully with <presentation_scenario> for <selective_disclosure> 14:43:42 28m 9s SUCCESS
Batch Issuance of Attestations in EUDI Wallet Batch Issuance of Attestations in EUDI Wallet
6 passing test cases
10 Given the user initiates a <credential> issuance using the <issuer> And the issuance method is <issuance_method> And the issuance is performed on a <issue_scenario> for the <credential> and <issuance_method> When the issuance flow is completed Then the credential is stored in the Wallet And the issuer service generates multiple attestations And the Wallet shows a counter indicating the total number of attestations issued When the issuer advertised maximum batch size is below the Wallet internal minimum threshold Then the issuance process continues with the issuer's maximum batch size And the Wallet saves the attestations based on the issuer-defined batch size 15:51:41 25m 26s SUCCESS
Pre-authorization code same device User initiates credential issuance 14 Given the user is accessing the issuer service When the user selects to issue a document using pre-authorization Then the user provides their personal information And a transaction code is generated And the user chooses to register through the EUDI wallet app And the user is navigated to the EUDI wallet application And the user provides the PIN When the issuer request is shown in the wallet app Then the user selects ISSUE button And the Wallet app prompts for the transaction code And the user enters the transaction code received from the Issuer And the Wallet application shows a successful issuance message And the user selects the CONTINUE button Then the document appears on the documents screen 15:42:58 9m 16s SUCCESS
Presentation of Batch Issued Attestations in EUDI Wallet Relying Party initiated presentation flow
2 passing test cases
14 Given the user initiates a <credential> issuance using the <issuer> And the issuance method is <issuance_method> And the issuance is performed on a <issue_scenario> for the <credential> and <issuance_method> When the issuance flow is completed Then the credential is stored in the Wallet And the user accesses the Relying Party service through their mobile device using <verifier> When the user chooses to present an attestation type Then the Relying Party service navigates the user to the EUDI Wallet When the user is unable to authenticate using a six-digit PIN or Biometrics Then the Wallet displays an authentication error And the user is allowed to attempt the authentication again When the user verifies their identity using a six-digit PIN or Biometrics And the authentication is completed successfully Then the EUDI Wallet notifies the user that the Relying Party is requesting an attestation with <presentation_scenario> 16:22:51 6m 54s SUCCESS
EUDI Wallet Online Document Presentation User can cancel and then complete an online data sharing presentation
1 passing test case
17 Given the user issues a <credential> attestation using <issuer> And the user is on the Home screen of the Wallet And a Relying Party renders a presentation request as a QR code When the user opens the Online option from the Authenticate section And the Wallet scans the Relying Party's presentation request QR code Then the Wallet displays the attestation details requested for sharing When the user cancels the presentation request Then the user returns to the Wallet Home screen And a Relying Party renders a presentation request as a QR code When the user opens the Online option from the Authenticate section And the Wallet scans the Relying Party's presentation request QR code Then the Wallet displays the attestation details requested for sharing When the user selects the Share button And the user enters their six-digit PIN correctly Then a success message is displayed for the successful presentation of the PID When the user closes the success screen Then the user returns to the Wallet Home screen 16:29:46 3m 27s SUCCESS
Sign Document through EUDI Wallet Sign a document through the EUDI Wallet
2 passing test cases
13 Given the user uploads a document and an attestation using <issuer> and selects a QTSP When the EUDI Wallet fetches the Credential ID details from the QTSP Then the EUDI Wallet displays the Credential ID details to the user And the user agrees to proceed with the signing operation When the user opts not to proceed Then the user selects the Abort operation option And the EUDI Wallet redirects the user to the main page When the EUDI Wallet asks the user to consent to the release of the requested attestation And the user successfully authenticates in the Wallet Then the EUDI Wallet shares the requested attestation with the QTSP And a success screen appears with the signed document When the EUDI Wallet obtains the signed document Then the EUDI Wallet allows the user to share the document or close the process 16:33:12 10m 6s SUCCESS
View, bookmark and manage attestations in the EUDI Wallet View, bookmark, inspect and delete an attestation through the EUDI Wallet
2 passing test cases
21 Given the user issues a <credential> attestation using <issuer> And the user is on the Home screen of the Wallet When the user opens the Documents screen Then the Documents screen lists the issued attestations When the user taps on an attestation from the list Then the attestation details are displayed And the attestation details are blurred by default And an eye icon is shown to reveal the attestation details When the user taps on the eye icon Then the attestation details are no longer blurred And the user can view the full attestation details When the user taps the bookmark icon on the attestation Then the attestation gets marked as bookmarked And the bookmark icon updates to indicate the bookmarked state When the user opens the issuer details from the attestation Then the issuer details are displayed to the user When the user closes the attestation details without deleting it Then the user lands back on the Documents screen When the user reopens the attestation and selects the delete option Then the attestation gets removed from the EUDI Wallet And the Documents screen no longer lists the deleted attestation 16:43:19 7m 30s SUCCESS
Issuing and storing attestations in the EUDI Wallet via QR code Add a document to the EUDI Wallet by scanning a QR code
2 passing test cases
18 Given the user visits the Issuer service, generates a QR code for a PID attestation using <issuer> and returns to the Home screen of the Wallet When the user opens the Documents screen Then the Documents screen is displayed When the user taps the add document button on the Documents screen Then the wallet displays the Add document screen When the user selects the option to scan a QR code Then the wallet opens the scanner to scan the QR code rendered by the Issuer When the user scans a valid QR code rendered by the Issuer Then the wallet displays the credential offer with the attestation to be issued and the name of the issuer When the user selects the Cancel button on the credential offer Then the issuing process is canceled And the user is returned to the Documents screen When the user scans a valid QR code rendered by the Issuer And the user selects the Add document button on the credential offer Then the user proceeds with the attestation issuing flow And the wallet displays a success screen with the details of the issued attestation When the user closes the success screen Then the attestation is added to the EUDI Wallet 13:33:53 4m 38s SUCCESS
Deferred Credential Issuance Completing the deferred credential delivery process with Python Issuer
2 passing test cases
19 Given the user is accessing <issuer> service When the user chooses to deliver a deferred credential to the wallet with <issuer> Then the EUDI Wallet application is opened And the issuance information is displayed to the user for <issuer> Then the user selects the ISSUE button for <issuer> And the user is redirected to the issuer service for authentication and authorization for <issuer> When the user completes authentication and confirms the issuance for <issuer> And the user is navigated to the EUDI wallet application And a notification indicates that the credential request is being processed When the user dismisses the notification by pressing OK And the user is on the Home page And the document is displayed as unavailable with a pending status When the issuer provides the requested credential to the wallet Then the user receives a confirmation message indicating that the document has been issued When the user chooses to inspect the document details Then the issued credential information is displayed for <issuer> And the user presses the X button to close the document Then the document details are no longer displayed And the document appears on the documents screen for <issuer> 13:38:31 6m 34s SUCCESS
EUDI Wallet Documents Screen Documents screen consolidates and lists issued attestations
2 passing test cases
13 Given the user issues a <credential> attestation using <issuer> And the user issues the second attestation for <issuer> And the user is on the Home screen of the Wallet Then the bottom navigation bar shows the Home, Documents, and History tabs When the user opens the Documents screen Then the Documents tab becomes highlighted after selection And the Documents screen provides a Search bar And the Documents screen provides a Filter control And the Documents screen lists the issued attestations And the listed attestations are organized by category And each attestation card shows the attestation name, the issuer, and the validity end date When the user taps twice on an attestation from the list Then the attestation details are displayed 13:45:05 10m 1s SUCCESS
EUDI Wallet Home Screen Bottom navigation bar options 9 Given the user is viewing the EUDI Wallet Home screen Then the bottom navigation bar displays Home, Documents, and Transactions When the user chooses the Home option from the bottom navigation bar Then the Home option appears highlighted And the Home screen presents the Authenticate and Sign a document sections When the user taps the Authenticate section Then the Authenticate section provides In Person and Online options When the user selects the Sign a document section Then the Sign Document screen appears 13:55:07 56s 634ms SUCCESS
Issuance and presentation - mDL Successful credential issuance and presentation with selective disclosure - Python Issuer - mDL
6 passing test cases
9 Given the user initiates a <credential> issuance using the <issuer> And the issuance method is <issuance_method> And the issuance is performed on a <issue_scenario> for the <credential> and <issuance_method> When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the <verifier> And the user shares <selective_disclosure> And the presentation is performed on a <presentation_scenario> for the <credential> Then the verifier verifies the credential successfully with <presentation_scenario> for <selective_disclosure> 14:09:24 39m 41s SUCCESS
Issuance and presentation - mDL Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - mDL
6 passing test cases
9 Given the user initiates a <credential> issuance using the <issuer> And the issuance method is <issuance_method> And the issuance is performed on a <issue_scenario> for the <credential> and <issuance_method> When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the <verifier> And the user shares <selective_disclosure> And the presentation is performed on a <presentation_scenario> for the <credential> Then the verifier verifies the credential successfully with <presentation_scenario> for <selective_disclosure> 14:49:05 27m 56s SUCCESS
Issuance and presentation - PID (MSO Mdoc) Successful credential issuance and presentation with selective disclosure - Python Issuer - PID (MSO Mdoc)
6 passing test cases
9 Given the user initiates a <credential> issuance using the <issuer> And the issuance method is <issuance_method> And the issuance is performed on a <issue_scenario> for the <credential> and <issuance_method> When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the <verifier> And the user shares <selective_disclosure> And the presentation is performed on a <presentation_scenario> for the <credential> Then the verifier verifies the credential successfully with <presentation_scenario> for <selective_disclosure> 14:09:47 48m 39s SUCCESS
Issuance and presentation - PID (MSO Mdoc) Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - PID (MSO Mdoc)
6 passing test cases
9 Given the user initiates a <credential> issuance using the <issuer> And the issuance method is <issuance_method> And the issuance is performed on a <issue_scenario> for the <credential> and <issuance_method> When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the <verifier> And the user shares <selective_disclosure> And the presentation is performed on a <presentation_scenario> for the <credential> Then the verifier verifies the credential successfully with <presentation_scenario> for <selective_disclosure> 14:58:25 33m 26s SUCCESS
Issuance and presentation - PID (SD-JWT) Successful credential issuance and presentation with selective disclosure - Python Issuer - PID (SD-JWT)
6 passing test cases
9 Given the user initiates a <credential> issuance using the <issuer> And the issuance method is <issuance_method> And the issuance is performed on a <issue_scenario> for the <credential> and <issuance_method> When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the <verifier> And the user shares <selective_disclosure> And the presentation is performed on a <presentation_scenario> for the <credential> Then the verifier verifies the credential successfully with <presentation_scenario> for <selective_disclosure> 15:18:22 36m 31s SUCCESS
Issuance and presentation - PID (SD-JWT) Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - PID (SD-JWT)
6 passing test cases
9 Given the user initiates a <credential> issuance using the <issuer> And the issuance method is <issuance_method> And the issuance is performed on a <issue_scenario> for the <credential> and <issuance_method> When the issuance flow is completed Then the credential is stored in the Wallet When the user presents the credential to the <verifier> And the user shares <selective_disclosure> And the presentation is performed on a <presentation_scenario> for the <credential> Then the verifier verifies the credential successfully with <presentation_scenario> for <selective_disclosure> 15:54:53 21m 53s SUCCESS
Batch Issuance of Attestations in EUDI Wallet Batch Issuance of Attestations in EUDI Wallet
6 passing test cases
10 Given the user initiates a <credential> issuance using the <issuer> And the issuance method is <issuance_method> And the issuance is performed on a <issue_scenario> for the <credential> and <issuance_method> When the issuance flow is completed Then the credential is stored in the Wallet And the issuer service generates multiple attestations And the Wallet shows a counter indicating the total number of attestations issued When the issuer advertised maximum batch size is below the Wallet internal minimum threshold Then the issuance process continues with the issuer's maximum batch size And the Wallet saves the attestations based on the issuer-defined batch size 13:03:57 44m 35s SUCCESS
Pre-authorization code same device User initiates credential issuance 14 Given the user is accessing the issuer service When the user selects to issue a document using pre-authorization Then the user provides their personal information And a transaction code is generated And the user chooses to register through the EUDI wallet app And the user is navigated to the EUDI wallet application And the user provides the PIN When the issuer request is shown in the wallet app Then the user selects ISSUE button And the Wallet app prompts for the transaction code And the user enters the transaction code received from the Issuer And the Wallet application shows a successful issuance message And the user selects the CONTINUE button Then the document appears on the documents screen 14:21:59 3m 30s SUCCESS
Presentation of Batch Issued Attestations in EUDI Wallet Relying Party initiated presentation flow
2 passing test cases
14 Given the user initiates a <credential> issuance using the <issuer> And the issuance method is <issuance_method> And the issuance is performed on a <issue_scenario> for the <credential> and <issuance_method> When the issuance flow is completed Then the credential is stored in the Wallet And the user accesses the Relying Party service through their mobile device using <verifier> When the user chooses to present an attestation type Then the Relying Party service navigates the user to the EUDI Wallet When the user is unable to authenticate using a six-digit PIN or Biometrics Then the Wallet displays an authentication error And the user is allowed to attempt the authentication again When the user verifies their identity using a six-digit PIN or Biometrics And the authentication is completed successfully Then the EUDI Wallet notifies the user that the Relying Party is requesting an attestation with <presentation_scenario> 14:25:29 11m 9s SUCCESS
EUDI Wallet Online Document Presentation User can cancel and then complete an online data sharing presentation
1 passing test case
17 Given the user issues a <credential> attestation using <issuer> And the user is on the Home screen of the Wallet And a Relying Party renders a presentation request as a QR code When the user opens the Online option from the Authenticate section And the Wallet scans the Relying Party's presentation request QR code Then the Wallet displays the attestation details requested for sharing When the user cancels the presentation request Then the user returns to the Wallet Home screen And a Relying Party renders a presentation request as a QR code When the user opens the Online option from the Authenticate section And the Wallet scans the Relying Party's presentation request QR code Then the Wallet displays the attestation details requested for sharing When the user selects the Share button And the user enters their six-digit PIN correctly Then a success message is displayed for the successful presentation of the PID When the user closes the success screen Then the user returns to the Wallet Home screen 14:36:38 5m 40s SUCCESS
Sign Document through EUDI Wallet Sign a document through the EUDI Wallet
2 passing test cases
13 Given the user uploads a document and an attestation using <issuer> and selects a QTSP When the EUDI Wallet fetches the Credential ID details from the QTSP Then the EUDI Wallet displays the Credential ID details to the user And the user agrees to proceed with the signing operation When the user opts not to proceed Then the user selects the Abort operation option And the EUDI Wallet redirects the user to the main page When the EUDI Wallet asks the user to consent to the release of the requested attestation And the user successfully authenticates in the Wallet Then the EUDI Wallet shares the requested attestation with the QTSP And a success screen appears with the signed document When the EUDI Wallet obtains the signed document Then the EUDI Wallet allows the user to share the document or close the process 14:42:18 9m 46s SUCCESS
View, bookmark and manage attestations in the EUDI Wallet View, bookmark, inspect and delete an attestation through the EUDI Wallet
2 passing test cases
21 Given the user issues a <credential> attestation using <issuer> And the user is on the Home screen of the Wallet When the user opens the Documents screen Then the Documents screen lists the issued attestations When the user taps on an attestation from the list Then the attestation details are displayed And the attestation details are blurred by default And an eye icon is shown to reveal the attestation details When the user taps on the eye icon Then the attestation details are no longer blurred And the user can view the full attestation details When the user taps the bookmark icon on the attestation Then the attestation gets marked as bookmarked And the bookmark icon updates to indicate the bookmarked state When the user opens the issuer details from the attestation Then the issuer details are displayed to the user When the user closes the attestation details without deleting it Then the user lands back on the Documents screen When the user reopens the attestation and selects the delete option Then the attestation gets removed from the EUDI Wallet And the Documents screen no longer lists the deleted attestation 14:52:03 8m 45s SUCCESS

Manual Tests

No manual tests were recorded
Serenity BDD version 4.2.22