Code Duplication    Length = 26-30 lines in 4 locations

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

@@ 2108-2133 (lines=26) @@
2105
     * @param string[] $prioritizedLanguages
2106
     * @param string|null $expectedLanguageCode language code of expected translation
2107
     */
2108
    public function testLoadUserWithPrioritizedLanguagesList(
2109
        array $prioritizedLanguages,
2110
        $expectedLanguageCode
2111
    ) {
2112
        $repository = $this->getRepository();
2113
        $userService = $repository->getUserService();
2114
2115
        $user = $this->createMultiLanguageUser();
2116
        if ($expectedLanguageCode === null) {
2117
            $expectedLanguageCode = $user->contentInfo->mainLanguageCode;
2118
        }
2119
2120
        $loadedUser = $userService->loadUser($user->id, $prioritizedLanguages);
2121
2122
        self::assertEquals(
2123
            $loadedUser->getName($expectedLanguageCode),
2124
            $loadedUser->getName()
2125
        );
2126
2127
        foreach (['fist_name', 'last_name', 'signature'] as $fieldIdentifier) {
2128
            self::assertEquals(
2129
                $loadedUser->getFieldValue($fieldIdentifier, $expectedLanguageCode),
2130
                $loadedUser->getFieldValue($fieldIdentifier)
2131
            );
2132
        }
2133
    }
2134
2135
    /**
2136
     * Test that multi-language logic for the loadUser method works correctly after updating
@@ 2187-2212 (lines=26) @@
2184
     * @param string[] $prioritizedLanguages
2185
     * @param string|null $expectedLanguageCode language code of expected translation
2186
     */
2187
    public function testLoadUserByLoginWithPrioritizedLanguagesList(
2188
        array $prioritizedLanguages,
2189
        $expectedLanguageCode
2190
    ) {
2191
        $repository = $this->getRepository();
2192
        $userService = $repository->getUserService();
2193
        $user = $this->createMultiLanguageUser();
2194
2195
        // load, with prioritized languages, the newly created user
2196
        $loadedUser = $userService->loadUserByLogin($user->login, $prioritizedLanguages);
2197
        if ($expectedLanguageCode === null) {
2198
            $expectedLanguageCode = $loadedUser->contentInfo->mainLanguageCode;
2199
        }
2200
2201
        self::assertEquals(
2202
            $loadedUser->getName($expectedLanguageCode),
2203
            $loadedUser->getName()
2204
        );
2205
2206
        foreach (['first_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 loadUserByCredentials method respects
@@ 2223-2252 (lines=30) @@
2220
     * @param string[] $prioritizedLanguages
2221
     * @param string|null $expectedLanguageCode language code of expected translation
2222
     */
2223
    public function testLoadUserByCredentialsWithPrioritizedLanguagesList(
2224
        array $prioritizedLanguages,
2225
        $expectedLanguageCode
2226
    ) {
2227
        $repository = $this->getRepository();
2228
        $userService = $repository->getUserService();
2229
        $user = $this->createMultiLanguageUser();
2230
2231
        // load, with prioritized languages, the newly created user
2232
        $loadedUser = $userService->loadUserByCredentials(
2233
            $user->login,
2234
            'secret',
2235
            $prioritizedLanguages
2236
        );
2237
        if ($expectedLanguageCode === null) {
2238
            $expectedLanguageCode = $loadedUser->contentInfo->mainLanguageCode;
2239
        }
2240
2241
        self::assertEquals(
2242
            $loadedUser->getName($expectedLanguageCode),
2243
            $loadedUser->getName()
2244
        );
2245
2246
        foreach (['first_name', 'last_name', 'signature'] as $fieldIdentifier) {
2247
            self::assertEquals(
2248
                $loadedUser->getFieldValue($fieldIdentifier, $expectedLanguageCode),
2249
                $loadedUser->getFieldValue($fieldIdentifier)
2250
            );
2251
        }
2252
    }
2253
2254
    /**
2255
     * Test that multi-language logic for the loadUsersByEmail method respects
@@ 2263-2290 (lines=28) @@
2260
     * @param string[] $prioritizedLanguages
2261
     * @param string|null $expectedLanguageCode language code of expected translation
2262
     */
2263
    public function testLoadUsersByEmailWithPrioritizedLanguagesList(
2264
        array $prioritizedLanguages,
2265
        $expectedLanguageCode
2266
    ) {
2267
        $repository = $this->getRepository();
2268
        $userService = $repository->getUserService();
2269
        $user = $this->createMultiLanguageUser();
2270
2271
        // load, with prioritized languages, users by email
2272
        $loadedUsers = $userService->loadUsersByEmail($user->email, $prioritizedLanguages);
2273
2274
        foreach ($loadedUsers as $loadedUser) {
2275
            if ($expectedLanguageCode === null) {
2276
                $expectedLanguageCode = $loadedUser->contentInfo->mainLanguageCode;
2277
            }
2278
            self::assertEquals(
2279
                $loadedUser->getName($expectedLanguageCode),
2280
                $loadedUser->getName()
2281
            );
2282
2283
            foreach (['first_name', 'last_name', 'signature'] as $fieldIdentifier) {
2284
                self::assertEquals(
2285
                    $loadedUser->getFieldValue($fieldIdentifier, $expectedLanguageCode),
2286
                    $loadedUser->getFieldValue($fieldIdentifier)
2287
                );
2288
            }
2289
        }
2290
    }
2291
2292
    /**
2293
     * Test that multi-language logic for the loadUserGroupsOfUser method respects