Code Duplication    Length = 26-30 lines in 4 locations

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

@@ 2256-2281 (lines=26) @@
2253
     * @param string[] $prioritizedLanguages
2254
     * @param string|null $expectedLanguageCode language code of expected translation
2255
     */
2256
    public function testLoadUserWithPrioritizedLanguagesList(
2257
        array $prioritizedLanguages,
2258
        $expectedLanguageCode
2259
    ) {
2260
        $repository = $this->getRepository();
2261
        $userService = $repository->getUserService();
2262
2263
        $user = $this->createMultiLanguageUser();
2264
        if ($expectedLanguageCode === null) {
2265
            $expectedLanguageCode = $user->contentInfo->mainLanguageCode;
2266
        }
2267
2268
        $loadedUser = $userService->loadUser($user->id, $prioritizedLanguages);
2269
2270
        self::assertEquals(
2271
            $loadedUser->getName($expectedLanguageCode),
2272
            $loadedUser->getName()
2273
        );
2274
2275
        foreach (['fist_name', 'last_name', 'signature'] as $fieldIdentifier) {
2276
            self::assertEquals(
2277
                $loadedUser->getFieldValue($fieldIdentifier, $expectedLanguageCode),
2278
                $loadedUser->getFieldValue($fieldIdentifier)
2279
            );
2280
        }
2281
    }
2282
2283
    /**
2284
     * Test that multi-language logic for the loadUser method works correctly after updating
@@ 2335-2360 (lines=26) @@
2332
     * @param string[] $prioritizedLanguages
2333
     * @param string|null $expectedLanguageCode language code of expected translation
2334
     */
2335
    public function testLoadUserByLoginWithPrioritizedLanguagesList(
2336
        array $prioritizedLanguages,
2337
        $expectedLanguageCode
2338
    ) {
2339
        $repository = $this->getRepository();
2340
        $userService = $repository->getUserService();
2341
        $user = $this->createMultiLanguageUser();
2342
2343
        // load, with prioritized languages, the newly created user
2344
        $loadedUser = $userService->loadUserByLogin($user->login, $prioritizedLanguages);
2345
        if ($expectedLanguageCode === null) {
2346
            $expectedLanguageCode = $loadedUser->contentInfo->mainLanguageCode;
2347
        }
2348
2349
        self::assertEquals(
2350
            $loadedUser->getName($expectedLanguageCode),
2351
            $loadedUser->getName()
2352
        );
2353
2354
        foreach (['first_name', 'last_name', 'signature'] as $fieldIdentifier) {
2355
            self::assertEquals(
2356
                $loadedUser->getFieldValue($fieldIdentifier, $expectedLanguageCode),
2357
                $loadedUser->getFieldValue($fieldIdentifier)
2358
            );
2359
        }
2360
    }
2361
2362
    /**
2363
     * Test that multi-language logic for the loadUserByCredentials method respects
@@ 2371-2400 (lines=30) @@
2368
     * @param string[] $prioritizedLanguages
2369
     * @param string|null $expectedLanguageCode language code of expected translation
2370
     */
2371
    public function testLoadUserByCredentialsWithPrioritizedLanguagesList(
2372
        array $prioritizedLanguages,
2373
        $expectedLanguageCode
2374
    ) {
2375
        $repository = $this->getRepository();
2376
        $userService = $repository->getUserService();
2377
        $user = $this->createMultiLanguageUser();
2378
2379
        // load, with prioritized languages, the newly created user
2380
        $loadedUser = $userService->loadUserByCredentials(
2381
            $user->login,
2382
            'secret',
2383
            $prioritizedLanguages
2384
        );
2385
        if ($expectedLanguageCode === null) {
2386
            $expectedLanguageCode = $loadedUser->contentInfo->mainLanguageCode;
2387
        }
2388
2389
        self::assertEquals(
2390
            $loadedUser->getName($expectedLanguageCode),
2391
            $loadedUser->getName()
2392
        );
2393
2394
        foreach (['first_name', 'last_name', 'signature'] as $fieldIdentifier) {
2395
            self::assertEquals(
2396
                $loadedUser->getFieldValue($fieldIdentifier, $expectedLanguageCode),
2397
                $loadedUser->getFieldValue($fieldIdentifier)
2398
            );
2399
        }
2400
    }
2401
2402
    /**
2403
     * Test that multi-language logic for the loadUsersByEmail method respects
@@ 2411-2438 (lines=28) @@
2408
     * @param string[] $prioritizedLanguages
2409
     * @param string|null $expectedLanguageCode language code of expected translation
2410
     */
2411
    public function testLoadUsersByEmailWithPrioritizedLanguagesList(
2412
        array $prioritizedLanguages,
2413
        $expectedLanguageCode
2414
    ) {
2415
        $repository = $this->getRepository();
2416
        $userService = $repository->getUserService();
2417
        $user = $this->createMultiLanguageUser();
2418
2419
        // load, with prioritized languages, users by email
2420
        $loadedUsers = $userService->loadUsersByEmail($user->email, $prioritizedLanguages);
2421
2422
        foreach ($loadedUsers as $loadedUser) {
2423
            if ($expectedLanguageCode === null) {
2424
                $expectedLanguageCode = $loadedUser->contentInfo->mainLanguageCode;
2425
            }
2426
            self::assertEquals(
2427
                $loadedUser->getName($expectedLanguageCode),
2428
                $loadedUser->getName()
2429
            );
2430
2431
            foreach (['first_name', 'last_name', 'signature'] as $fieldIdentifier) {
2432
                self::assertEquals(
2433
                    $loadedUser->getFieldValue($fieldIdentifier, $expectedLanguageCode),
2434
                    $loadedUser->getFieldValue($fieldIdentifier)
2435
                );
2436
            }
2437
        }
2438
    }
2439
2440
    /**
2441
     * Test that multi-language logic for the loadUserGroupsOfUser method respects