Code Duplication    Length = 26-30 lines in 4 locations

eZ/Publish/API/Repository/Tests/UserServiceTest.php 4 locations

@@ 2092-2117 (lines=26) @@
2089
     * @param string[] $prioritizedLanguages
2090
     * @param string|null $expectedLanguageCode language code of expected translation
2091
     */
2092
    public function testLoadUserWithPrioritizedLanguagesList(
2093
        array $prioritizedLanguages,
2094
        $expectedLanguageCode
2095
    ) {
2096
        $repository = $this->getRepository();
2097
        $userService = $repository->getUserService();
2098
2099
        $user = $this->createMultiLanguageUser();
2100
        if ($expectedLanguageCode === null) {
2101
            $expectedLanguageCode = $user->contentInfo->mainLanguageCode;
2102
        }
2103
2104
        $loadedUser = $userService->loadUser($user->id, $prioritizedLanguages);
2105
2106
        self::assertEquals(
2107
            $loadedUser->getName($expectedLanguageCode),
2108
            $loadedUser->getName()
2109
        );
2110
2111
        foreach (['fist_name', 'last_name', 'signature'] as $fieldIdentifier) {
2112
            self::assertEquals(
2113
                $loadedUser->getFieldValue($fieldIdentifier, $expectedLanguageCode),
2114
                $loadedUser->getFieldValue($fieldIdentifier)
2115
            );
2116
        }
2117
    }
2118
2119
    /**
2120
     * Test that multi-language logic for the loadUser method works correctly after updating
@@ 2171-2196 (lines=26) @@
2168
     * @param string[] $prioritizedLanguages
2169
     * @param string|null $expectedLanguageCode language code of expected translation
2170
     */
2171
    public function testLoadUserByLoginWithPrioritizedLanguagesList(
2172
        array $prioritizedLanguages,
2173
        $expectedLanguageCode
2174
    ) {
2175
        $repository = $this->getRepository();
2176
        $userService = $repository->getUserService();
2177
        $user = $this->createMultiLanguageUser();
2178
2179
        // load, with prioritized languages, the newly created user
2180
        $loadedUser = $userService->loadUserByLogin($user->login, $prioritizedLanguages);
2181
        if ($expectedLanguageCode === null) {
2182
            $expectedLanguageCode = $loadedUser->contentInfo->mainLanguageCode;
2183
        }
2184
2185
        self::assertEquals(
2186
            $loadedUser->getName($expectedLanguageCode),
2187
            $loadedUser->getName()
2188
        );
2189
2190
        foreach (['first_name', 'last_name', 'signature'] as $fieldIdentifier) {
2191
            self::assertEquals(
2192
                $loadedUser->getFieldValue($fieldIdentifier, $expectedLanguageCode),
2193
                $loadedUser->getFieldValue($fieldIdentifier)
2194
            );
2195
        }
2196
    }
2197
2198
    /**
2199
     * Test that multi-language logic for the loadUserByCredentials method respects
@@ 2207-2236 (lines=30) @@
2204
     * @param string[] $prioritizedLanguages
2205
     * @param string|null $expectedLanguageCode language code of expected translation
2206
     */
2207
    public function testLoadUserByCredentialsWithPrioritizedLanguagesList(
2208
        array $prioritizedLanguages,
2209
        $expectedLanguageCode
2210
    ) {
2211
        $repository = $this->getRepository();
2212
        $userService = $repository->getUserService();
2213
        $user = $this->createMultiLanguageUser();
2214
2215
        // load, with prioritized languages, the newly created user
2216
        $loadedUser = $userService->loadUserByCredentials(
2217
            $user->login,
2218
            'secret',
2219
            $prioritizedLanguages
2220
        );
2221
        if ($expectedLanguageCode === null) {
2222
            $expectedLanguageCode = $loadedUser->contentInfo->mainLanguageCode;
2223
        }
2224
2225
        self::assertEquals(
2226
            $loadedUser->getName($expectedLanguageCode),
2227
            $loadedUser->getName()
2228
        );
2229
2230
        foreach (['first_name', 'last_name', 'signature'] as $fieldIdentifier) {
2231
            self::assertEquals(
2232
                $loadedUser->getFieldValue($fieldIdentifier, $expectedLanguageCode),
2233
                $loadedUser->getFieldValue($fieldIdentifier)
2234
            );
2235
        }
2236
    }
2237
2238
    /**
2239
     * Test that multi-language logic for the loadUsersByEmail method respects
@@ 2247-2274 (lines=28) @@
2244
     * @param string[] $prioritizedLanguages
2245
     * @param string|null $expectedLanguageCode language code of expected translation
2246
     */
2247
    public function testLoadUsersByEmailWithPrioritizedLanguagesList(
2248
        array $prioritizedLanguages,
2249
        $expectedLanguageCode
2250
    ) {
2251
        $repository = $this->getRepository();
2252
        $userService = $repository->getUserService();
2253
        $user = $this->createMultiLanguageUser();
2254
2255
        // load, with prioritized languages, users by email
2256
        $loadedUsers = $userService->loadUsersByEmail($user->email, $prioritizedLanguages);
2257
2258
        foreach ($loadedUsers as $loadedUser) {
2259
            if ($expectedLanguageCode === null) {
2260
                $expectedLanguageCode = $loadedUser->contentInfo->mainLanguageCode;
2261
            }
2262
            self::assertEquals(
2263
                $loadedUser->getName($expectedLanguageCode),
2264
                $loadedUser->getName()
2265
            );
2266
2267
            foreach (['first_name', 'last_name', 'signature'] as $fieldIdentifier) {
2268
                self::assertEquals(
2269
                    $loadedUser->getFieldValue($fieldIdentifier, $expectedLanguageCode),
2270
                    $loadedUser->getFieldValue($fieldIdentifier)
2271
                );
2272
            }
2273
        }
2274
    }
2275
2276
    /**
2277
     * Test that multi-language logic for the loadUserGroupsOfUser method respects