// keep the user back-end up-to-date with the latest display name and email
// address
$oldDisplayName = $user->getDisplayName();
+ $oldDisplayName = is_null($oldDisplayName) ? '' : $oldDisplayName;
if (isset($data[AccountManager::PROPERTY_DISPLAYNAME]['value'])
&& $oldDisplayName !== $data[AccountManager::PROPERTY_DISPLAYNAME]['value']
) {
}
$oldEmailAddress = $user->getEMailAddress();
+ $oldEmailAddress = is_null($oldEmailAddress) ? '' : $oldEmailAddress;
if (isset($data[AccountManager::PROPERTY_EMAIL]['value'])
&& $oldEmailAddress !== $data[AccountManager::PROPERTY_EMAIL]['value']
) {
$user->method('getEMailAddress')->willReturn($oldEmailAddress);
$user->method('canChangeDisplayName')->willReturn(true);
- if ($data[AccountManager::PROPERTY_EMAIL]['value'] !== $oldEmailAddress) {
+ if ($data[AccountManager::PROPERTY_EMAIL]['value'] === $oldEmailAddress ||
+ $oldEmailAddress === null && $data[AccountManager::PROPERTY_EMAIL]['value'] === '') {
+ $user->expects($this->never())->method('setEMailAddress');
+ } else {
$user->expects($this->once())->method('setEMailAddress')
->with($data[AccountManager::PROPERTY_EMAIL]['value'])
->willReturn(true);
- } else {
- $user->expects($this->never())->method('setEMailAddress');
}
- if ($data[AccountManager::PROPERTY_DISPLAYNAME]['value'] !== $oldDisplayName) {
+ if ($data[AccountManager::PROPERTY_DISPLAYNAME]['value'] === $oldDisplayName ||
+ $oldDisplayName === null && $data[AccountManager::PROPERTY_DISPLAYNAME]['value'] === '') {
+ $user->expects($this->never())->method('setDisplayName');
+ } else {
$user->expects($this->once())->method('setDisplayName')
->with($data[AccountManager::PROPERTY_DISPLAYNAME]['value'])
->willReturn(true);
- } else {
- $user->expects($this->never())->method('setDisplayName');
}
$this->accountManager->expects($this->once())->method('updateUser')
],
'john@example.com',
'john New doe'
- ]
+ ],
+ [
+ [
+ AccountManager::PROPERTY_EMAIL => ['value' => ''],
+ AccountManager::PROPERTY_DISPLAYNAME => ['value' => 'john doe'],
+ ],
+ null,
+ 'john New doe'
+ ],
+ [
+ [
+ AccountManager::PROPERTY_EMAIL => ['value' => 'john@example.com'],
+ AccountManager::PROPERTY_DISPLAYNAME => ['value' => 'john doe'],
+ ],
+ 'john@example.com',
+ null
+ ],
];
}
->with(
$this->equalTo($mailAddress)
);
+ $user->method('getEMailAddress')->willReturn('oldEmailAddress');
$this->mailer
->expects($this->any())
->method('validateMailAddress')