From 250befe629e413b2a75724cc0de9233ebb52ef20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20Molakvo=C3=A6=20=28skjnldsv=29?= Date: Wed, 18 Sep 2024 11:38:44 +0200 Subject: [PATCH] fix(settings): pronouns UsersControllerTest MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: John Molakvoæ (skjnldsv) --- .../tests/Controller/UsersControllerTest.php | 61 +++++++++++++++++-- 1 file changed, 56 insertions(+), 5 deletions(-) diff --git a/apps/settings/tests/Controller/UsersControllerTest.php b/apps/settings/tests/Controller/UsersControllerTest.php index db346ab89f2fe..e8ae965b3bbaa 100644 --- a/apps/settings/tests/Controller/UsersControllerTest.php +++ b/apps/settings/tests/Controller/UsersControllerTest.php @@ -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); @@ -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, @@ -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()); @@ -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'); @@ -397,7 +412,11 @@ public function testSetUserSettingsWhenUserDisplayNameChangeNotAllowed(): void { $twitter, $twitterScope, $fediverse, - $fediverseScope + $fediverseScope, + $birtdate, + $birthdateScope, + $pronouns, + $pronounsScope, ); } @@ -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). @@ -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); @@ -478,7 +505,11 @@ public function testSetUserSettingsWhenFederatedFilesharingNotEnabled(): void { $twitter, $twitterScope, $fediverse, - $fediverseScope + $fediverseScope, + $birthdate, + $birthdateScope, + $pronouns, + $pronounsScope, ); } @@ -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(); @@ -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'; } @@ -585,7 +628,11 @@ public function testSetUserSettingsSubset($property, $propertyValue): void { $twitter, $twitterScope, $fediverse, - $fediverseScope + $fediverseScope, + $birthdate, + $birthdateScope, + $pronouns, + $pronounsScope, ); } @@ -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], ]; }