====================================================================== ASA PLATFORM - BACKEND TEST SUITE (PHP 8.4 NATIF) Monorepo: asa-core | Operator: GRANIX ====================================================================== Running UserTest: ✔ PASS testUserCreationAndPasswordVerification ✔ PASS testUserMutators ✔ PASS testToArraySerialization Running ProviderProfileTest: ✔ PASS testProviderProfileCreationAndRate ✔ PASS testToArrayContainsRateAriary Running RegisterUserUseCaseTest: ✔ PASS testRejectsRegistrationWithoutTermsAccepted ✔ PASS testRegistersClientSuccessfully ✔ PASS testRegistersProviderWithProfile ✔ PASS testRejectsDuplicateEmail Running AuthenticateUserUseCaseTest: ✔ PASS testAuthenticatesAdminSuccessfully ✔ PASS testRejectsIncorrectPassword ✔ PASS testRejectsNonExistentEmail ✔ PASS testRejectsInactiveUser ✔ PASS testRejectsClientAccessWhenAdminRoleRequired Running SelectUserRoleUseCaseTest: ✔ PASS testSelectsProviderRoleAndInitializesProfile ✔ PASS testSelectsClientRole ✔ PASS testRejectsInvalidRole Running SetupClientProfileUseCaseTest: ✔ PASS testUpdatesAddressSuccessfully ✔ PASS testRejectsEmptyAddress Running SetupProviderProfileUseCaseTest: ✔ PASS testCreatesProfileWithoutSlot ✔ PASS testCreatesProfileWithSlotReservation ✔ PASS testFailsWhenSlotAlreadyBooked ✔ PASS testRejectsInvalidCategory ✔ PASS testRejectsNegativeRate Running RouterTest: ✔ PASS testMatchesSimpleGetRoute ✔ PASS testExtractsRouteParameters ✔ PASS testConvertsDomainExceptionToHttp422ForApi ✔ PASS testConvertsGenericExceptionToHttp500ForApi ✔ PASS testReturns404ForUnmatchedApiRoute ✔ PASS testReturns404HtmlForUnmatchedWebRoute ✔ PASS testMiddlewareCanInterceptAndShortCircuit ✔ PASS testBearerTokenExtraction Running BrandConsistencyTest: ✔ PASS testBackofficeLayoutDeclaresTheThreeOfficialColors ✔ PASS testOfficialEmblemIsUsedOnCockpitAndPublicPages ✔ PASS testBrandAssetsExistInThePublicDirectory ✔ PASS testLegacyOffBrandPaletteIsGoneFromCockpitViews ✔ PASS testDashboardAndCalendarRenderWithAnEmptyDataset Running PublicLandingTest: ✔ PASS testLandingPageIsBrandedAndHasNoAdminLink ✔ PASS testLegalPagesDeclareIndividualEntrepreneurAndBrandColors Running ServerKeyRingTest: ✔ PASS testGeneratedKeyIsStableAcrossReloads ✔ PASS testInvalidSecretKeyIsRejected ✔ PASS testKeyIdIsAShortPublicFingerprint ✔ PASS testPublicKeyIsBase64Encoded32Bytes Running CryptoChannelTest: ✔ PASS testSealedBootstrapRegistersThePhoneAndRestoresTheBody ✔ PASS testDeviceChannelDecryptsWithThePerPhoneKey ✔ PASS testResponseIsEncryptedWithTheDeviceKey ✔ PASS testTamperedCiphertextIsRejected ✔ PASS testEnvelopeBoundToAnotherRouteIsRejected ✔ PASS testExpiredEnvelopeIsRejected ✔ PASS testUnknownDeviceCannotOpenADeviceEnvelope ✔ PASS testEachPhoneDerivesADifferentSharedKey ✔ PASS testAPlainRequestIsLeftUntouched ✔ PASS testAuthenticatedGetRequestEncryptsOnlyTheResponse ✔ PASS testDeviceStoreFailureIsReportedAsCryptoUnavailable Running ProviderOnboardingIntegrationTest: ✔ PASS testCompleteProviderOnboardingAndAdminValidation ---------------------------------------------------------------------- RÉSULTATS DE L'EXÉCUTION DES TESTS : Tests totaux : 55 Assertions totales : 202 Réussis : 55 Échoués : 0 Durée d'exécution : 5136.24 ms ---------------------------------------------------------------------- TOUS LES TESTS BACKEND ONT RÉUSSI AVEC SUCCÈS (100% OK).