Code Duplication    Length = 19-25 lines in 4 locations

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

@@ 127-145 (lines=19) @@
124
     * @see \eZ\Publish\API\Repository\UserService::loadSubUserGroups()
125
     * @depends eZ\Publish\API\Repository\Tests\UserServiceTest::testLoadUserGroup
126
     */
127
    public function testLoadSubUserGroups()
128
    {
129
        $repository = $this->getRepository();
130
131
        $mainGroupId = $this->generateId('group', 4);
132
        /* BEGIN: Use Case */
133
        // $mainGroupId is the ID of the main "Users" group
134
135
        $userService = $repository->getUserService();
136
137
        $userGroup = $userService->loadUserGroup($mainGroupId);
138
139
        $subUserGroups = $userService->loadSubUserGroups($userGroup);
140
        foreach ($subUserGroups as $subUserGroup) {
141
            // Do something with the $subUserGroup
142
            $this->assertInstanceOf(UserGroup::class, $subUserGroup);
143
        }
144
        /* END: Use Case */
145
    }
146
147
    /**
148
     * Test loading sub groups throwing NotFoundException.
@@ 354-378 (lines=25) @@
351
     * @expectedException \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException
352
     * @depends eZ\Publish\API\Repository\Tests\UserServiceTest::testCreateUserGroup
353
     */
354
    public function testCreateUserGroupThrowsInvalidArgumentExceptionFieldTypeNotAccept()
355
    {
356
        $repository = $this->getRepository();
357
358
        $mainGroupId = $this->generateId('group', 4);
359
        /* BEGIN: Use Case */
360
        // $mainGroupId is the ID of the main "Users" group
361
362
        $userService = $repository->getUserService();
363
364
        // Load main group
365
        $parentUserGroup = $userService->loadUserGroup($mainGroupId);
366
367
        // Instantiate a new create struct
368
        $userGroupCreate = $userService->newUserGroupCreateStruct('eng-US');
369
        $userGroupCreate->setField('name', new \stdClass());
370
371
        // This call will fail with an "InvalidArgumentException", because the
372
        // specified remoteId is already used for the "Members" user group.
373
        $userService->createUserGroup(
374
            $userGroupCreate,
375
            $parentUserGroup
376
        );
377
        /* END: Use Case */
378
    }
379
380
    /**
381
     * Test for the createUserGroup() method.
@@ 628-652 (lines=25) @@
625
     * @depends eZ\Publish\API\Repository\Tests\UserServiceTest::testCreateUserGroup
626
     * @depends eZ\Publish\API\Repository\Tests\UserServiceTest::testNewUserGroupUpdateStruct
627
     */
628
    public function testUpdateUserGroup()
629
    {
630
        $repository = $this->getRepository();
631
        $userService = $repository->getUserService();
632
633
        /* BEGIN: Use Case */
634
        $userGroup = $this->createUserGroupVersion1();
635
636
        // Create a group update struct and change nothing
637
        $groupUpdate = $userService->newUserGroupUpdateStruct();
638
639
        // This update will do nothing
640
        $userGroup = $userService->updateUserGroup(
641
            $userGroup,
642
            $groupUpdate
643
        );
644
        /* END: Use Case */
645
646
        $this->assertInstanceOf(
647
            UserGroup::class,
648
            $userGroup
649
        );
650
651
        $this->assertEquals(1, $userGroup->getVersionInfo()->versionNo);
652
    }
653
654
    /**
655
     * Test for the updateUserGroup() method.
@@ 1986-2004 (lines=19) @@
1983
     * @covers \eZ\Publish\API\Repository\UserService::loadUserGroupsOfUser
1984
     * @depends eZ\Publish\API\Repository\Tests\UserServiceTest::testCreateUser
1985
     */
1986
    public function testLoadUserGroupsOfUser()
1987
    {
1988
        $repository = $this->getRepository();
1989
1990
        $userService = $repository->getUserService();
1991
1992
        /* BEGIN: Use Case */
1993
        $user = $this->createUserVersion1();
1994
1995
        // This array will contain the "Editors" user group name
1996
        $userGroupNames = [];
1997
        foreach ($userService->loadUserGroupsOfUser($user) as $userGroup) {
1998
            $this->assertInstanceOf(UserGroup::class, $userGroup);
1999
            $userGroupNames[] = $userGroup->getFieldValue('name');
2000
        }
2001
        /* END: Use Case */
2002
2003
        $this->assertEquals(['Editors'], $userGroupNames);
2004
    }
2005
2006
    /**
2007
     * Test for the loadUsersOfUserGroup() method.