fix: name missing fields the user cannot edit on personal data page

This commit is contained in:
fromme committed 2026-10-16 17:46:05 +02:00
1 parent 6d2db1b258
commit 0ee8fafbe1
8 files changed
+187 -12

No files matched your search

@@ -56,6 +56,51 @@ class PersonalDataControllerTest extends TestCase
self::assertSame(false, $controller->renderedParameters['newsletterPendingConfirmation']);
}
public function testIndexListsIdentityFieldsTheUserCannotFix(): void
{
$personalData = $this->createPersonalData('', 'Musterfirma GmbH');
$completenessChecker = $this->createMock(ProfileCompletenessChecker::class);
$completenessChecker
->expects(self::once())
->method('invalidIdentityFields')
->with($personalData)
->willReturn(['Vorname']);
$controller = $this->createController(
accountClient: $this->createMock(AccountClient::class),
completenessChecker: $completenessChecker,
);
$controller->accountClient
->expects(self::once())
->method('getPersonalData')
->willReturn($personalData);
$controller->index(Request::create('/personal-data', 'GET'));
self::assertSame(['Vorname'], $controller->renderedParameters['invalidIdentityFields']);
}
public function testIndexListsNoIdentityFieldsWhenPersonalDataFailedToLoad(): void
{
$completenessChecker = $this->createMock(ProfileCompletenessChecker::class);
$completenessChecker
->expects(self::never())
->method('invalidIdentityFields');
$controller = $this->createController(
accountClient: $this->createMock(AccountClient::class),
completenessChecker: $completenessChecker,
);
$controller->accountClient
->expects(self::once())
->method('getPersonalData')
->willReturn(new Notification(500, 'no such customer'));
$controller->index(Request::create('/personal-data', 'GET'));
self::assertSame([], $controller->renderedParameters['invalidIdentityFields']);
}
public function testIndexStillTracksPendingNewsletterConfirmationWhenSubscribed(): void
{
$controller = $this->createController(
@@ -217,6 +262,7 @@ class PersonalDataControllerTest extends TestCase
?AccountClient $accountClient = null,
?NewsletterManager $newsletterManager = null,
?FormInterface $form = null,
?ProfileCompletenessChecker $completenessChecker = null,
): TestablePersonalDataController {
$user = new User('[email protected]');
$user->setPassword('secret');
@@ -239,7 +285,7 @@ class PersonalDataControllerTest extends TestCase
$accountClient ?? $this->createStub(AccountClient::class),
$crypt,
$this->createStub(BookingEditDataLoader::class),
$this->createStub(ProfileCompletenessChecker::class),
$completenessChecker ?? $this->createStub(ProfileCompletenessChecker::class),
$this->createStub(EntityManagerInterface::class),
$newsletterManager ?? $this->createStub(NewsletterManager::class),
$this->createStub(LoggerInterface::class),