|
7 | 7 | use Gitlab\Model\Project; |
8 | 8 | use PHPUnit\Framework\TestCase; |
9 | 9 | use Gitlab\Api\Groups; |
10 | | -use Gitlab\Api\Projects; |
11 | 10 |
|
12 | 11 | class GroupTest extends TestCase |
13 | 12 | { |
14 | | - private function getGroupMock(array $data = []) |
| 13 | + public function testFromArray() |
15 | 14 | { |
16 | 15 | $client = $this->getMockBuilder(Client::class) |
17 | 16 | ->disableOriginalConstructor() |
18 | 17 | ->getMock(); |
19 | 18 |
|
20 | | - return Group::fromArray($client, $data); |
| 19 | + $data = [ |
| 20 | + 'id' => 1, |
| 21 | + 'name' => 'Foobar Group', |
| 22 | + 'path' => 'foo-bar', |
| 23 | + 'description' => 'An interesting group', |
| 24 | + 'visibility' => 'public', |
| 25 | + 'lfs_enabled' => true, |
| 26 | + 'avatar_url' => 'http://localhost:3000/uploads/group/avatar/1/foo.jpg', |
| 27 | + 'web_url' => 'http://localhost:3000/groups/foo-bar', |
| 28 | + 'request_access_enabled' => false, |
| 29 | + 'full_name' => 'Foobar Group', |
| 30 | + 'full_path' => 'foo-bar', |
| 31 | + 'file_template_project_id' => 1, |
| 32 | + 'parent_id' => null, |
| 33 | + 'projects' => [ |
| 34 | + ['id' => 1], |
| 35 | + ], |
| 36 | + 'shared_projects' => [ |
| 37 | + ['id' => 2], |
| 38 | + ], |
| 39 | + ]; |
| 40 | + |
| 41 | + $group = Group::fromArray($client, $data); |
| 42 | + |
| 43 | + $this->assertInstanceOf(Group::class, $group); |
| 44 | + $this->assertSame($data['id'], $group->id); |
| 45 | + $this->assertSame($data['name'], $group->name); |
| 46 | + $this->assertSame($data['path'], $group->path); |
| 47 | + $this->assertSame($data['description'], $group->description); |
| 48 | + $this->assertSame($data['visibility'], $group->visibility); |
| 49 | + $this->assertSame($data['lfs_enabled'], $group->lfs_enabled); |
| 50 | + $this->assertSame($data['avatar_url'], $group->avatar_url); |
| 51 | + $this->assertSame($data['web_url'], $group->web_url); |
| 52 | + $this->assertSame($data['request_access_enabled'], $group->request_access_enabled); |
| 53 | + $this->assertSame($data['full_name'], $group->full_name); |
| 54 | + $this->assertSame($data['full_path'], $group->full_path); |
| 55 | + $this->assertSame($data['file_template_project_id'], $group->file_template_project_id); |
| 56 | + $this->assertSame($data['parent_id'], $group->parent_id); |
| 57 | + |
| 58 | + $this->assertCount(1, $group->projects); |
| 59 | + $this->assertInstanceOf(Project::class, $group->projects[0]); |
| 60 | + |
| 61 | + $this->assertCount(1, $group->shared_projects); |
| 62 | + $this->assertInstanceOf(Project::class, $group->shared_projects[0]); |
21 | 63 | } |
22 | 64 |
|
23 | 65 | public function testProjects() |
|
0 commit comments