getId()); self::assertNull($perm->getUnit()); self::assertNull($perm->getApp()); self::assertNull($perm->getModule()); self::assertEquals(0, $perm->getFrom()); self::assertNull($perm->getType()); self::assertNull($perm->getElement()); self::assertNull($perm->getComponent()); self::assertEquals(PermissionType::NONE, $perm->getPermission()); self::assertEquals( [ 'id' => 0, 'unit' => null, 'app' => null, 'module' => null, 'from' => 0, 'type' => null, 'element' => null, 'component' => null, 'permission' => PermissionType::NONE, ], $perm->jsonSerialize() ); } public function testAbstractGetSet() : void { $perm = new class() extends PermissionAbstract {}; $perm->setUnit(1); self::assertEquals(1, $perm->getUnit()); $perm->setApp('Test'); self::assertEquals('Test', $perm->getApp()); $perm->setModule('2'); self::assertEquals('2', $perm->getModule()); $perm->setFrom(3); self::assertEquals(3, $perm->getFrom()); $perm->setType(4); self::assertEquals(4, $perm->getType()); $perm->setElement(5); self::assertEquals(5, $perm->getElement()); $perm->setComponent(6); self::assertEquals(6, $perm->getComponent()); $perm->setPermission(PermissionType::READ); self::assertEquals(PermissionType::READ, $perm->getPermission()); $perm->addPermission(PermissionType::CREATE); self::assertTrue($perm->hasPermission(PermissionType::CREATE)); self::assertTrue($perm->hasPermission(PermissionType::READ)); self::assertFalse($perm->hasPermission(PermissionType::MODIFY)); } }