FOSSology  4.5.1
Open Source License Compliance by Open Source Software
GroupPermissionsTest.php
Go to the documentation of this file.
1 <?php
2 /*
3  SPDX-FileCopyrightText: © 2024 Valens Niyonsenga <valensniyonsenga2003@gmail.com>
4  SPDX-License-Identifier: GPL-2.0-only
5 */
6 
12 
13 
16 use Monolog\Test\TestCase;
17 
18 class GroupPermissionsTest extends TestCase
19 {
21 
27  public function testConstructor()
28  {
29  $groupPermission = new GroupPermission("GroupPerm", 4, "fossy");
30  $this->assertInstanceOf(GroupPermission::class, $groupPermission);
31  }
32 
40  private function getGroupPermissionInfo($version = ApiVersion::V2)
41  {
42  $expectedArray = null;
43  if ($version == ApiVersion::V1)
44  {
45  $expectedArray = [
46  "perm" => "Group perm",
47  "group_pk" => 4,
48  "group_name" => "fossy",
49  ];
50  } else {
51  $expectedArray = [
52  "perm" => "Group perm",
53  "groupPk" => 4,
54  "groupName" => "fossy",
55  ];
56  }
57  $obj = new GroupPermission("Group perm",4,"fossy");
58  return [
59  'expectedArray' => $expectedArray,
60  'obj' => $obj
61  ];
62  }
67  public function testDataFormatV1()
68  {
69  $this->testDataFormat(ApiVersion::V1);
70  }
71 
76  public function testDataFormatV2()
77  {
78  $this->testDataFormat(ApiVersion::V2);
79  }
80 
84  private function testDataFormat($version)
85  {
86  $info = $this->getGroupPermissionInfo($version);
87  $expectedArray = $info['expectedArray'];
88  $groupPermission = $info['obj'];
89  $this->assertEquals($expectedArray, $groupPermission->getArray($version));
90  }
96  public function testGetPerm()
97  {
98  $groupPermission = new GroupPermission("Group perm", "4", "fossy");
99  $this->assertEquals("Group perm", $groupPermission->getPerm());
100  }
101 
107  public function testSetPerm()
108  {
109  $groupPermission = new GroupPermission("Group perm", "4", "fossy");
110  $groupPermission->setPerm("New perm");
111  $this->assertEquals("New perm", $groupPermission->getPerm());
112  }
113 
119  public function testGetGroupPk()
120  {
121  $groupPermission = new GroupPermission("Group perm", "4", "fossy");
122  $this->assertEquals("4", $groupPermission->getGroupPk());
123  }
124 
130  public function testSetGroupPk()
131  {
132  $groupPermission = new GroupPermission("Group perm", "4", "fossy");
133  $groupPermission->setGroupPk("10");
134  $this->assertEquals("10", $groupPermission->getGroupPk());
135  }
136 
142  public function testGetGroupName()
143  {
144  $groupPermission = new GroupPermission("Group perm", "4", "fossy");
145  $this->assertEquals("fossy", $groupPermission->getGroupName());
146  }
147 
153  public function testSetGroupName()
154  {
155  $groupPermission = new GroupPermission("Group perm", "4", "fossy");
156  $groupPermission->setGroupName("newName");
157  $this->assertEquals("newName", $groupPermission->getGroupName());
158  }
159 }