|
|
@@ -0,0 +1,87 @@
|
|
|
+<?php
|
|
|
+
|
|
|
+namespace App\Test\Service\Access;
|
|
|
+
|
|
|
+use App\ApiResources\Access\AdminAccess;
|
|
|
+use App\Entity\Access\Access;
|
|
|
+use App\Entity\Core\ContactPoint;
|
|
|
+use App\Entity\Organization\Organization;
|
|
|
+use App\Entity\Person\Person;
|
|
|
+use App\Service\Access\AdminAccessUtils;
|
|
|
+use App\Service\Access\Utils;
|
|
|
+use App\Service\Core\ContactPointUtils;
|
|
|
+use PHPUnit\Framework\TestCase;
|
|
|
+
|
|
|
+class AdminAccessUtilsTest extends TestCase
|
|
|
+{
|
|
|
+ private Organization $organization;
|
|
|
+ private AdminAccessUtils $adminAccessUtils;
|
|
|
+ private ContactPointUtils $contactPointUtilsMock;
|
|
|
+ private Utils $accessUtilsMock;
|
|
|
+
|
|
|
+ public function setUp():void
|
|
|
+ {
|
|
|
+ $this->organization = new Organization();
|
|
|
+
|
|
|
+ $this->accessUtilsMock = $this->getMockBuilder(Utils::class)->disableOriginalConstructor()->getMock();
|
|
|
+ $this->contactPointUtilsMock = $this->getMockBuilder(ContactPointUtils::class)->disableOriginalConstructor()->getMock();
|
|
|
+
|
|
|
+ $this->adminAccessUtils = new AdminAccessUtils(
|
|
|
+ $this->accessUtilsMock,
|
|
|
+ $this->contactPointUtilsMock
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @see AdminAccessUtils::getAdminAccess()
|
|
|
+ */
|
|
|
+ public function testGetAdminAccessWithoutAdministrator(){
|
|
|
+ $this->accessUtilsMock
|
|
|
+ ->method('getAdminAccess')
|
|
|
+ ->with($this->organization)
|
|
|
+ ->willReturn(null);
|
|
|
+
|
|
|
+ $this->assertNull($this->adminAccessUtils->getAdminAccess($this->organization));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @see AdminAccessUtils::getAdminAccess()
|
|
|
+ */
|
|
|
+ public function testGetAdminAccessWithoutContactPoint(){
|
|
|
+ $administrator = new Access();
|
|
|
+
|
|
|
+ $this->accessUtilsMock
|
|
|
+ ->method('getAdminAccess')
|
|
|
+ ->with($this->organization)
|
|
|
+ ->willReturn($administrator);
|
|
|
+
|
|
|
+ $this->contactPointUtilsMock
|
|
|
+ ->method('getPersonContactPointPrincipal')
|
|
|
+ ->with($administrator)
|
|
|
+ ->willReturn(null);
|
|
|
+
|
|
|
+ $this->assertNull($this->adminAccessUtils->getAdminAccess($this->organization));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @see AdminAccessUtils::getAdminAccess()
|
|
|
+ */
|
|
|
+ public function testGetAdminAccess(){
|
|
|
+ $person = new Person();
|
|
|
+ $administrator = new Access();
|
|
|
+ $administrator->setPerson($person);
|
|
|
+ $contactPoint = new ContactPoint();
|
|
|
+
|
|
|
+ $this->accessUtilsMock
|
|
|
+ ->method('getAdminAccess')
|
|
|
+ ->with($this->organization)
|
|
|
+ ->willReturn($administrator);
|
|
|
+
|
|
|
+ $this->contactPointUtilsMock
|
|
|
+ ->method('getPersonContactPointPrincipal')
|
|
|
+ ->with($administrator)
|
|
|
+ ->willReturn($contactPoint);
|
|
|
+
|
|
|
+ $this->assertInstanceOf(AdminAccess::class, $this->adminAccessUtils->getAdminAccess($this->organization));
|
|
|
+ }
|
|
|
+}
|