Skip to content

Commit

Permalink
fix(settings): pronouns UsersControllerTest
Browse files Browse the repository at this point in the history
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
  • Loading branch information
skjnldsv committed Sep 18, 2024
1 parent cd3256b commit 250befe
Showing 1 changed file with 56 additions and 5 deletions.
61 changes: 56 additions & 5 deletions apps/settings/tests/Controller/UsersControllerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -224,6 +224,11 @@ protected function getDefaultAccountMock(bool $useDefaultValues = true): MockObj
'Default birthdate',
IAccountManager::SCOPE_LOCAL,
),
IAccountManager::PROPERTY_PRONOUNS => $this->buildPropertyMock(
IAccountManager::PROPERTY_PRONOUNS,
'Default pronouns',
IAccountManager::SCOPE_LOCAL,
),
];

$account = $this->createMock(IAccount::class);
Expand Down Expand Up @@ -275,7 +280,7 @@ public function testSetUserSettings($email, $validEmail, $expectedStatus): void
$controller->expects($this->never())->method('saveUserSettings');
}

$result = $controller->setUserSettings(//
$result = $controller->setUserSettings(
AccountManager::SCOPE_FEDERATED,
'displayName',
AccountManager::SCOPE_FEDERATED,
Expand All @@ -288,7 +293,13 @@ public function testSetUserSettings($email, $validEmail, $expectedStatus): void
'street and city',
AccountManager::SCOPE_FEDERATED,
'@nextclouders',
AccountManager::SCOPE_FEDERATED
AccountManager::SCOPE_FEDERATED,
'@nextclouders',
AccountManager::SCOPE_FEDERATED,
'2020-01-01',
AccountManager::SCOPE_FEDERATED,
'they/them',
AccountManager::SCOPE_FEDERATED,
);

$this->assertSame($expectedStatus, $result->getStatus());
Expand Down Expand Up @@ -321,6 +332,10 @@ public function testSetUserSettingsWhenUserDisplayNameChangeNotAllowed(): void {
$twitterScope = IAccountManager::SCOPE_PUBLISHED;
$fediverse = '@nextclouders@floss.social';
$fediverseScope = IAccountManager::SCOPE_PUBLISHED;
$birtdate = '2020-01-01';
$birthdateScope = IAccountManager::SCOPE_PUBLISHED;
$pronouns = 'she/her';
$pronounsScope = IAccountManager::SCOPE_PUBLISHED;

$user = $this->createMock(IUser::class);
$user->method('getUID')->willReturn('johndoe');
Expand Down Expand Up @@ -397,7 +412,11 @@ public function testSetUserSettingsWhenUserDisplayNameChangeNotAllowed(): void {
$twitter,
$twitterScope,
$fediverse,
$fediverseScope
$fediverseScope,
$birtdate,
$birthdateScope,
$pronouns,
$pronounsScope,
);
}

Expand Down Expand Up @@ -436,6 +455,10 @@ public function testSetUserSettingsWhenFederatedFilesharingNotEnabled(): void {
$twitterScope = IAccountManager::SCOPE_PUBLISHED;
$fediverse = '@nextclouders@floss.social';
$fediverseScope = IAccountManager::SCOPE_PUBLISHED;
$birthdate = '2020-01-01';
$birthdateScope = IAccountManager::SCOPE_PUBLISHED;
$pronouns = 'she/her';
$pronounsScope = IAccountManager::SCOPE_PUBLISHED;

// All settings are changed (in the past phone, website, address and
// twitter were not changed).
Expand All @@ -455,6 +478,10 @@ public function testSetUserSettingsWhenFederatedFilesharingNotEnabled(): void {
$expectedProperties[IAccountManager::PROPERTY_TWITTER]['scope'] = $twitterScope;
$expectedProperties[IAccountManager::PROPERTY_FEDIVERSE]['value'] = $fediverse;
$expectedProperties[IAccountManager::PROPERTY_FEDIVERSE]['scope'] = $fediverseScope;
$expectedProperties[IAccountManager::PROPERTY_BIRTHDATE]['value'] = $birthdate;
$expectedProperties[IAccountManager::PROPERTY_BIRTHDATE]['scope'] = $birthdateScope;
$expectedProperties[IAccountManager::PROPERTY_PRONOUNS]['value'] = $pronouns;
$expectedProperties[IAccountManager::PROPERTY_PRONOUNS]['scope'] = $pronounsScope;

$this->mailer->expects($this->once())->method('validateMailAddress')
->willReturn(true);
Expand All @@ -478,7 +505,11 @@ public function testSetUserSettingsWhenFederatedFilesharingNotEnabled(): void {
$twitter,
$twitterScope,
$fediverse,
$fediverseScope
$fediverseScope,
$birthdate,
$birthdateScope,
$pronouns,
$pronounsScope,
);
}

Expand Down Expand Up @@ -518,6 +549,10 @@ public function testSetUserSettingsSubset($property, $propertyValue): void {
$twitterScope = ($property === 'twitterScope') ? $propertyValue : null;
$fediverse = ($property === 'fediverse') ? $propertyValue : null;
$fediverseScope = ($property === 'fediverseScope') ? $propertyValue : null;
$birthdate = ($property === 'birthdate') ? $propertyValue : null;
$birthdateScope = ($property === 'birthdateScope') ? $propertyValue : null;
$pronouns = ($property === 'pronouns') ? $propertyValue : null;
$pronounsScope = ($property === 'pronounsScope') ? $propertyValue : null;

/** @var IAccountProperty[]|MockObject[] $expectedProperties */
$expectedProperties = $userAccount->getProperties();
Expand Down Expand Up @@ -554,6 +589,14 @@ public function testSetUserSettingsSubset($property, $propertyValue): void {
case 'fediverseScope':
$propertyId = IAccountManager::PROPERTY_FEDIVERSE;
break;
case 'birthdate':
case 'birthdateScope':
$propertyId = IAccountManager::PROPERTY_BIRTHDATE;
break;
case 'pronouns':
case 'pronounsScope':
$propertyId = IAccountManager::PROPERTY_PRONOUNS;
break;
default:
$propertyId = '404';
}
Expand Down Expand Up @@ -585,7 +628,11 @@ public function testSetUserSettingsSubset($property, $propertyValue): void {
$twitter,
$twitterScope,
$fediverse,
$fediverseScope
$fediverseScope,
$birthdate,
$birthdateScope,
$pronouns,
$pronounsScope,
);
}

Expand All @@ -606,6 +653,10 @@ public function dataTestSetUserSettingsSubset() {
['twitterScope', IAccountManager::SCOPE_PUBLISHED],
['fediverse', '@nextclouders@floss.social'],
['fediverseScope', IAccountManager::SCOPE_PUBLISHED],
['birthdate', '2020-01-01'],
['birthdateScope', IAccountManager::SCOPE_PUBLISHED],
['pronouns', 'he/him'],
['pronounsScope', IAccountManager::SCOPE_PUBLISHED],
];
}

Expand Down

0 comments on commit 250befe

Please sign in to comment.