Code Duplication    Length = 26-30 lines in 4 locations

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

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