Code Duplication    Length = 26-30 lines in 4 locations

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

@@ 2152-2177 (lines=26) @@
2149
     * @param string[] $prioritizedLanguages
2150
     * @param string|null $expectedLanguageCode language code of expected translation
2151
     */
2152
    public function testLoadUserWithPrioritizedLanguagesList(
2153
        array $prioritizedLanguages,
2154
        $expectedLanguageCode
2155
    ) {
2156
        $repository = $this->getRepository();
2157
        $userService = $repository->getUserService();
2158
2159
        $user = $this->createMultiLanguageUser();
2160
        if ($expectedLanguageCode === null) {
2161
            $expectedLanguageCode = $user->contentInfo->mainLanguageCode;
2162
        }
2163
2164
        $loadedUser = $userService->loadUser($user->id, $prioritizedLanguages);
2165
2166
        self::assertEquals(
2167
            $loadedUser->getName($expectedLanguageCode),
2168
            $loadedUser->getName()
2169
        );
2170
2171
        foreach (['fist_name', 'last_name', 'signature'] as $fieldIdentifier) {
2172
            self::assertEquals(
2173
                $loadedUser->getFieldValue($fieldIdentifier, $expectedLanguageCode),
2174
                $loadedUser->getFieldValue($fieldIdentifier)
2175
            );
2176
        }
2177
    }
2178
2179
    /**
2180
     * Test that multi-language logic for the loadUser method works correctly after updating
@@ 2231-2256 (lines=26) @@
2228
     * @param string[] $prioritizedLanguages
2229
     * @param string|null $expectedLanguageCode language code of expected translation
2230
     */
2231
    public function testLoadUserByLoginWithPrioritizedLanguagesList(
2232
        array $prioritizedLanguages,
2233
        $expectedLanguageCode
2234
    ) {
2235
        $repository = $this->getRepository();
2236
        $userService = $repository->getUserService();
2237
        $user = $this->createMultiLanguageUser();
2238
2239
        // load, with prioritized languages, the newly created user
2240
        $loadedUser = $userService->loadUserByLogin($user->login, $prioritizedLanguages);
2241
        if ($expectedLanguageCode === null) {
2242
            $expectedLanguageCode = $loadedUser->contentInfo->mainLanguageCode;
2243
        }
2244
2245
        self::assertEquals(
2246
            $loadedUser->getName($expectedLanguageCode),
2247
            $loadedUser->getName()
2248
        );
2249
2250
        foreach (['first_name', 'last_name', 'signature'] as $fieldIdentifier) {
2251
            self::assertEquals(
2252
                $loadedUser->getFieldValue($fieldIdentifier, $expectedLanguageCode),
2253
                $loadedUser->getFieldValue($fieldIdentifier)
2254
            );
2255
        }
2256
    }
2257
2258
    /**
2259
     * Test that multi-language logic for the loadUserByCredentials method respects
@@ 2267-2296 (lines=30) @@
2264
     * @param string[] $prioritizedLanguages
2265
     * @param string|null $expectedLanguageCode language code of expected translation
2266
     */
2267
    public function testLoadUserByCredentialsWithPrioritizedLanguagesList(
2268
        array $prioritizedLanguages,
2269
        $expectedLanguageCode
2270
    ) {
2271
        $repository = $this->getRepository();
2272
        $userService = $repository->getUserService();
2273
        $user = $this->createMultiLanguageUser();
2274
2275
        // load, with prioritized languages, the newly created user
2276
        $loadedUser = $userService->loadUserByCredentials(
2277
            $user->login,
2278
            'secret',
2279
            $prioritizedLanguages
2280
        );
2281
        if ($expectedLanguageCode === null) {
2282
            $expectedLanguageCode = $loadedUser->contentInfo->mainLanguageCode;
2283
        }
2284
2285
        self::assertEquals(
2286
            $loadedUser->getName($expectedLanguageCode),
2287
            $loadedUser->getName()
2288
        );
2289
2290
        foreach (['first_name', 'last_name', 'signature'] as $fieldIdentifier) {
2291
            self::assertEquals(
2292
                $loadedUser->getFieldValue($fieldIdentifier, $expectedLanguageCode),
2293
                $loadedUser->getFieldValue($fieldIdentifier)
2294
            );
2295
        }
2296
    }
2297
2298
    /**
2299
     * Test that multi-language logic for the loadUsersByEmail method respects
@@ 2307-2334 (lines=28) @@
2304
     * @param string[] $prioritizedLanguages
2305
     * @param string|null $expectedLanguageCode language code of expected translation
2306
     */
2307
    public function testLoadUsersByEmailWithPrioritizedLanguagesList(
2308
        array $prioritizedLanguages,
2309
        $expectedLanguageCode
2310
    ) {
2311
        $repository = $this->getRepository();
2312
        $userService = $repository->getUserService();
2313
        $user = $this->createMultiLanguageUser();
2314
2315
        // load, with prioritized languages, users by email
2316
        $loadedUsers = $userService->loadUsersByEmail($user->email, $prioritizedLanguages);
2317
2318
        foreach ($loadedUsers as $loadedUser) {
2319
            if ($expectedLanguageCode === null) {
2320
                $expectedLanguageCode = $loadedUser->contentInfo->mainLanguageCode;
2321
            }
2322
            self::assertEquals(
2323
                $loadedUser->getName($expectedLanguageCode),
2324
                $loadedUser->getName()
2325
            );
2326
2327
            foreach (['first_name', 'last_name', 'signature'] as $fieldIdentifier) {
2328
                self::assertEquals(
2329
                    $loadedUser->getFieldValue($fieldIdentifier, $expectedLanguageCode),
2330
                    $loadedUser->getFieldValue($fieldIdentifier)
2331
                );
2332
            }
2333
        }
2334
    }
2335
2336
    /**
2337
     * Test that multi-language logic for the loadUserGroupsOfUser method respects