Code Duplication    Length = 26-30 lines in 4 locations

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

@@ 2120-2145 (lines=26) @@
2117
     * @param string[] $prioritizedLanguages
2118
     * @param string|null $expectedLanguageCode language code of expected translation
2119
     */
2120
    public function testLoadUserWithPrioritizedLanguagesList(
2121
        array $prioritizedLanguages,
2122
        $expectedLanguageCode
2123
    ) {
2124
        $repository = $this->getRepository();
2125
        $userService = $repository->getUserService();
2126
2127
        $user = $this->createMultiLanguageUser();
2128
        if ($expectedLanguageCode === null) {
2129
            $expectedLanguageCode = $user->contentInfo->mainLanguageCode;
2130
        }
2131
2132
        $loadedUser = $userService->loadUser($user->id, $prioritizedLanguages);
2133
2134
        self::assertEquals(
2135
            $loadedUser->getName($expectedLanguageCode),
2136
            $loadedUser->getName()
2137
        );
2138
2139
        foreach (['fist_name', 'last_name', 'signature'] as $fieldIdentifier) {
2140
            self::assertEquals(
2141
                $loadedUser->getFieldValue($fieldIdentifier, $expectedLanguageCode),
2142
                $loadedUser->getFieldValue($fieldIdentifier)
2143
            );
2144
        }
2145
    }
2146
2147
    /**
2148
     * Test that multi-language logic for the loadUser method works correctly after updating
@@ 2199-2224 (lines=26) @@
2196
     * @param string[] $prioritizedLanguages
2197
     * @param string|null $expectedLanguageCode language code of expected translation
2198
     */
2199
    public function testLoadUserByLoginWithPrioritizedLanguagesList(
2200
        array $prioritizedLanguages,
2201
        $expectedLanguageCode
2202
    ) {
2203
        $repository = $this->getRepository();
2204
        $userService = $repository->getUserService();
2205
        $user = $this->createMultiLanguageUser();
2206
2207
        // load, with prioritized languages, the newly created user
2208
        $loadedUser = $userService->loadUserByLogin($user->login, $prioritizedLanguages);
2209
        if ($expectedLanguageCode === null) {
2210
            $expectedLanguageCode = $loadedUser->contentInfo->mainLanguageCode;
2211
        }
2212
2213
        self::assertEquals(
2214
            $loadedUser->getName($expectedLanguageCode),
2215
            $loadedUser->getName()
2216
        );
2217
2218
        foreach (['first_name', 'last_name', 'signature'] as $fieldIdentifier) {
2219
            self::assertEquals(
2220
                $loadedUser->getFieldValue($fieldIdentifier, $expectedLanguageCode),
2221
                $loadedUser->getFieldValue($fieldIdentifier)
2222
            );
2223
        }
2224
    }
2225
2226
    /**
2227
     * Test that multi-language logic for the loadUserByCredentials method respects
@@ 2235-2264 (lines=30) @@
2232
     * @param string[] $prioritizedLanguages
2233
     * @param string|null $expectedLanguageCode language code of expected translation
2234
     */
2235
    public function testLoadUserByCredentialsWithPrioritizedLanguagesList(
2236
        array $prioritizedLanguages,
2237
        $expectedLanguageCode
2238
    ) {
2239
        $repository = $this->getRepository();
2240
        $userService = $repository->getUserService();
2241
        $user = $this->createMultiLanguageUser();
2242
2243
        // load, with prioritized languages, the newly created user
2244
        $loadedUser = $userService->loadUserByCredentials(
2245
            $user->login,
2246
            'secret',
2247
            $prioritizedLanguages
2248
        );
2249
        if ($expectedLanguageCode === null) {
2250
            $expectedLanguageCode = $loadedUser->contentInfo->mainLanguageCode;
2251
        }
2252
2253
        self::assertEquals(
2254
            $loadedUser->getName($expectedLanguageCode),
2255
            $loadedUser->getName()
2256
        );
2257
2258
        foreach (['first_name', 'last_name', 'signature'] as $fieldIdentifier) {
2259
            self::assertEquals(
2260
                $loadedUser->getFieldValue($fieldIdentifier, $expectedLanguageCode),
2261
                $loadedUser->getFieldValue($fieldIdentifier)
2262
            );
2263
        }
2264
    }
2265
2266
    /**
2267
     * Test that multi-language logic for the loadUsersByEmail method respects
@@ 2275-2302 (lines=28) @@
2272
     * @param string[] $prioritizedLanguages
2273
     * @param string|null $expectedLanguageCode language code of expected translation
2274
     */
2275
    public function testLoadUsersByEmailWithPrioritizedLanguagesList(
2276
        array $prioritizedLanguages,
2277
        $expectedLanguageCode
2278
    ) {
2279
        $repository = $this->getRepository();
2280
        $userService = $repository->getUserService();
2281
        $user = $this->createMultiLanguageUser();
2282
2283
        // load, with prioritized languages, users by email
2284
        $loadedUsers = $userService->loadUsersByEmail($user->email, $prioritizedLanguages);
2285
2286
        foreach ($loadedUsers as $loadedUser) {
2287
            if ($expectedLanguageCode === null) {
2288
                $expectedLanguageCode = $loadedUser->contentInfo->mainLanguageCode;
2289
            }
2290
            self::assertEquals(
2291
                $loadedUser->getName($expectedLanguageCode),
2292
                $loadedUser->getName()
2293
            );
2294
2295
            foreach (['first_name', 'last_name', 'signature'] as $fieldIdentifier) {
2296
                self::assertEquals(
2297
                    $loadedUser->getFieldValue($fieldIdentifier, $expectedLanguageCode),
2298
                    $loadedUser->getFieldValue($fieldIdentifier)
2299
                );
2300
            }
2301
        }
2302
    }
2303
2304
    /**
2305
     * Test that multi-language logic for the loadUserGroupsOfUser method respects