Code Duplication    Length = 26-30 lines in 4 locations

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

@@ 2187-2212 (lines=26) @@
2184
     * @param string[] $prioritizedLanguages
2185
     * @param string|null $expectedLanguageCode language code of expected translation
2186
     */
2187
    public function testLoadUserWithPrioritizedLanguagesList(
2188
        array $prioritizedLanguages,
2189
        $expectedLanguageCode
2190
    ) {
2191
        $repository = $this->getRepository();
2192
        $userService = $repository->getUserService();
2193
2194
        $user = $this->createMultiLanguageUser();
2195
        if ($expectedLanguageCode === null) {
2196
            $expectedLanguageCode = $user->contentInfo->mainLanguageCode;
2197
        }
2198
2199
        $loadedUser = $userService->loadUser($user->id, $prioritizedLanguages);
2200
2201
        self::assertEquals(
2202
            $loadedUser->getName($expectedLanguageCode),
2203
            $loadedUser->getName()
2204
        );
2205
2206
        foreach (['fist_name', 'last_name', 'signature'] as $fieldIdentifier) {
2207
            self::assertEquals(
2208
                $loadedUser->getFieldValue($fieldIdentifier, $expectedLanguageCode),
2209
                $loadedUser->getFieldValue($fieldIdentifier)
2210
            );
2211
        }
2212
    }
2213
2214
    /**
2215
     * Test that multi-language logic for the loadUser method works correctly after updating
@@ 2266-2291 (lines=26) @@
2263
     * @param string[] $prioritizedLanguages
2264
     * @param string|null $expectedLanguageCode language code of expected translation
2265
     */
2266
    public function testLoadUserByLoginWithPrioritizedLanguagesList(
2267
        array $prioritizedLanguages,
2268
        $expectedLanguageCode
2269
    ) {
2270
        $repository = $this->getRepository();
2271
        $userService = $repository->getUserService();
2272
        $user = $this->createMultiLanguageUser();
2273
2274
        // load, with prioritized languages, the newly created user
2275
        $loadedUser = $userService->loadUserByLogin($user->login, $prioritizedLanguages);
2276
        if ($expectedLanguageCode === null) {
2277
            $expectedLanguageCode = $loadedUser->contentInfo->mainLanguageCode;
2278
        }
2279
2280
        self::assertEquals(
2281
            $loadedUser->getName($expectedLanguageCode),
2282
            $loadedUser->getName()
2283
        );
2284
2285
        foreach (['first_name', 'last_name', 'signature'] as $fieldIdentifier) {
2286
            self::assertEquals(
2287
                $loadedUser->getFieldValue($fieldIdentifier, $expectedLanguageCode),
2288
                $loadedUser->getFieldValue($fieldIdentifier)
2289
            );
2290
        }
2291
    }
2292
2293
    /**
2294
     * Test that multi-language logic for the loadUserByCredentials method respects
@@ 2302-2331 (lines=30) @@
2299
     * @param string[] $prioritizedLanguages
2300
     * @param string|null $expectedLanguageCode language code of expected translation
2301
     */
2302
    public function testLoadUserByCredentialsWithPrioritizedLanguagesList(
2303
        array $prioritizedLanguages,
2304
        $expectedLanguageCode
2305
    ) {
2306
        $repository = $this->getRepository();
2307
        $userService = $repository->getUserService();
2308
        $user = $this->createMultiLanguageUser();
2309
2310
        // load, with prioritized languages, the newly created user
2311
        $loadedUser = $userService->loadUserByCredentials(
2312
            $user->login,
2313
            'secret',
2314
            $prioritizedLanguages
2315
        );
2316
        if ($expectedLanguageCode === null) {
2317
            $expectedLanguageCode = $loadedUser->contentInfo->mainLanguageCode;
2318
        }
2319
2320
        self::assertEquals(
2321
            $loadedUser->getName($expectedLanguageCode),
2322
            $loadedUser->getName()
2323
        );
2324
2325
        foreach (['first_name', 'last_name', 'signature'] as $fieldIdentifier) {
2326
            self::assertEquals(
2327
                $loadedUser->getFieldValue($fieldIdentifier, $expectedLanguageCode),
2328
                $loadedUser->getFieldValue($fieldIdentifier)
2329
            );
2330
        }
2331
    }
2332
2333
    /**
2334
     * Test that multi-language logic for the loadUsersByEmail method respects
@@ 2342-2369 (lines=28) @@
2339
     * @param string[] $prioritizedLanguages
2340
     * @param string|null $expectedLanguageCode language code of expected translation
2341
     */
2342
    public function testLoadUsersByEmailWithPrioritizedLanguagesList(
2343
        array $prioritizedLanguages,
2344
        $expectedLanguageCode
2345
    ) {
2346
        $repository = $this->getRepository();
2347
        $userService = $repository->getUserService();
2348
        $user = $this->createMultiLanguageUser();
2349
2350
        // load, with prioritized languages, users by email
2351
        $loadedUsers = $userService->loadUsersByEmail($user->email, $prioritizedLanguages);
2352
2353
        foreach ($loadedUsers as $loadedUser) {
2354
            if ($expectedLanguageCode === null) {
2355
                $expectedLanguageCode = $loadedUser->contentInfo->mainLanguageCode;
2356
            }
2357
            self::assertEquals(
2358
                $loadedUser->getName($expectedLanguageCode),
2359
                $loadedUser->getName()
2360
            );
2361
2362
            foreach (['first_name', 'last_name', 'signature'] as $fieldIdentifier) {
2363
                self::assertEquals(
2364
                    $loadedUser->getFieldValue($fieldIdentifier, $expectedLanguageCode),
2365
                    $loadedUser->getFieldValue($fieldIdentifier)
2366
                );
2367
            }
2368
        }
2369
    }
2370
2371
    /**
2372
     * Test that multi-language logic for the loadUserGroupsOfUser method respects