Code Duplication    Length = 26-30 lines in 4 locations

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

@@ 2280-2305 (lines=26) @@
2277
     * @param string[] $prioritizedLanguages
2278
     * @param string|null $expectedLanguageCode language code of expected translation
2279
     */
2280
    public function testLoadUserWithPrioritizedLanguagesList(
2281
        array $prioritizedLanguages,
2282
        $expectedLanguageCode
2283
    ) {
2284
        $repository = $this->getRepository();
2285
        $userService = $repository->getUserService();
2286
2287
        $user = $this->createMultiLanguageUser();
2288
        if ($expectedLanguageCode === null) {
2289
            $expectedLanguageCode = $user->contentInfo->mainLanguageCode;
2290
        }
2291
2292
        $loadedUser = $userService->loadUser($user->id, $prioritizedLanguages);
2293
2294
        self::assertEquals(
2295
            $loadedUser->getName($expectedLanguageCode),
2296
            $loadedUser->getName()
2297
        );
2298
2299
        foreach (['fist_name', 'last_name', 'signature'] as $fieldIdentifier) {
2300
            self::assertEquals(
2301
                $loadedUser->getFieldValue($fieldIdentifier, $expectedLanguageCode),
2302
                $loadedUser->getFieldValue($fieldIdentifier)
2303
            );
2304
        }
2305
    }
2306
2307
    /**
2308
     * Test that multi-language logic for the loadUser method works correctly after updating
@@ 2359-2384 (lines=26) @@
2356
     * @param string[] $prioritizedLanguages
2357
     * @param string|null $expectedLanguageCode language code of expected translation
2358
     */
2359
    public function testLoadUserByLoginWithPrioritizedLanguagesList(
2360
        array $prioritizedLanguages,
2361
        $expectedLanguageCode
2362
    ) {
2363
        $repository = $this->getRepository();
2364
        $userService = $repository->getUserService();
2365
        $user = $this->createMultiLanguageUser();
2366
2367
        // load, with prioritized languages, the newly created user
2368
        $loadedUser = $userService->loadUserByLogin($user->login, $prioritizedLanguages);
2369
        if ($expectedLanguageCode === null) {
2370
            $expectedLanguageCode = $loadedUser->contentInfo->mainLanguageCode;
2371
        }
2372
2373
        self::assertEquals(
2374
            $loadedUser->getName($expectedLanguageCode),
2375
            $loadedUser->getName()
2376
        );
2377
2378
        foreach (['first_name', 'last_name', 'signature'] as $fieldIdentifier) {
2379
            self::assertEquals(
2380
                $loadedUser->getFieldValue($fieldIdentifier, $expectedLanguageCode),
2381
                $loadedUser->getFieldValue($fieldIdentifier)
2382
            );
2383
        }
2384
    }
2385
2386
    /**
2387
     * Test that multi-language logic for the loadUserByCredentials method respects
@@ 2395-2424 (lines=30) @@
2392
     * @param string[] $prioritizedLanguages
2393
     * @param string|null $expectedLanguageCode language code of expected translation
2394
     */
2395
    public function testLoadUserByCredentialsWithPrioritizedLanguagesList(
2396
        array $prioritizedLanguages,
2397
        $expectedLanguageCode
2398
    ) {
2399
        $repository = $this->getRepository();
2400
        $userService = $repository->getUserService();
2401
        $user = $this->createMultiLanguageUser();
2402
2403
        // load, with prioritized languages, the newly created user
2404
        $loadedUser = $userService->loadUserByCredentials(
2405
            $user->login,
2406
            'secret',
2407
            $prioritizedLanguages
2408
        );
2409
        if ($expectedLanguageCode === null) {
2410
            $expectedLanguageCode = $loadedUser->contentInfo->mainLanguageCode;
2411
        }
2412
2413
        self::assertEquals(
2414
            $loadedUser->getName($expectedLanguageCode),
2415
            $loadedUser->getName()
2416
        );
2417
2418
        foreach (['first_name', 'last_name', 'signature'] as $fieldIdentifier) {
2419
            self::assertEquals(
2420
                $loadedUser->getFieldValue($fieldIdentifier, $expectedLanguageCode),
2421
                $loadedUser->getFieldValue($fieldIdentifier)
2422
            );
2423
        }
2424
    }
2425
2426
    /**
2427
     * Test that multi-language logic for the loadUsersByEmail method respects
@@ 2435-2462 (lines=28) @@
2432
     * @param string[] $prioritizedLanguages
2433
     * @param string|null $expectedLanguageCode language code of expected translation
2434
     */
2435
    public function testLoadUsersByEmailWithPrioritizedLanguagesList(
2436
        array $prioritizedLanguages,
2437
        $expectedLanguageCode
2438
    ) {
2439
        $repository = $this->getRepository();
2440
        $userService = $repository->getUserService();
2441
        $user = $this->createMultiLanguageUser();
2442
2443
        // load, with prioritized languages, users by email
2444
        $loadedUsers = $userService->loadUsersByEmail($user->email, $prioritizedLanguages);
2445
2446
        foreach ($loadedUsers as $loadedUser) {
2447
            if ($expectedLanguageCode === null) {
2448
                $expectedLanguageCode = $loadedUser->contentInfo->mainLanguageCode;
2449
            }
2450
            self::assertEquals(
2451
                $loadedUser->getName($expectedLanguageCode),
2452
                $loadedUser->getName()
2453
            );
2454
2455
            foreach (['first_name', 'last_name', 'signature'] as $fieldIdentifier) {
2456
                self::assertEquals(
2457
                    $loadedUser->getFieldValue($fieldIdentifier, $expectedLanguageCode),
2458
                    $loadedUser->getFieldValue($fieldIdentifier)
2459
                );
2460
            }
2461
        }
2462
    }
2463
2464
    /**
2465
     * Test that multi-language logic for the loadUserGroupsOfUser method respects