Olivier Massot 11 місяців тому
батько
коміт
23a62e7484

+ 2 - 2
src/Service/Utils/EntityUtils.php

@@ -36,8 +36,8 @@ class EntityUtils
     protected function organizationDefaultValue(mixed $entity, Access $access): void
     {
         $reflection = new \ReflectionClass($entity::class);
-        $organizationFaultValue = $reflection->getAttributes(OrganizationDefaultValue::class)[0] ?? null;
-        $fieldName = $organizationFaultValue?->getArguments()['fieldName'] ?? null;
+        $organizationDefaultValue = $reflection->getAttributes(OrganizationDefaultValue::class)[0] ?? null;
+        $fieldName = $organizationDefaultValue?->getArguments()['fieldName'] ?? null;
         if ($fieldName) {
             $entity->{sprintf('set%s', ucfirst($fieldName))}(...[$access->getOrganization()]);
         }

+ 1 - 1
tests/Unit/Service/Dolibarr/DolibarrAccountCreatorTest.php

@@ -118,7 +118,7 @@ class DolibarrAccountCreatorTest extends TestCase
         $accountData = [
             'id' => '2',
             'code_client' => 'C2',
-            'array_options' => ['2iopen_software_opentalent' => 'Opentalent Artist'],
+            'array_options' => ['options_2iopen_software_opentalent' => 'Opentalent Artist'],
         ];
 
         $dolibarrAccount = $dolibarrAccountCreator->createDolibarrAccount($organizationId, $accountData);

+ 20 - 9
tests/Unit/Service/Utils/EntityUtilsTest.php

@@ -8,7 +8,10 @@ use App\Entity\Billing\ResidenceArea;
 use App\Entity\Education\EducationTiming;
 use App\Entity\Organization\Organization;
 use App\Service\Utils\EntityUtils;
+use Doctrine\ORM\EntityManagerInterface;
+use PHPUnit\Framework\MockObject\MockObject;
 use PHPUnit\Framework\TestCase;
+use Symfony\Component\Mercure\HubInterface;
 
 class TestableEntityUtils extends EntityUtils
 {
@@ -25,14 +28,26 @@ class TestableEntityUtils extends EntityUtils
 
 class EntityUtilsTest extends TestCase
 {
+    private EntityManagerInterface $entityManager;
+
+    public function setUp(): void {
+        $this->entityManager = $this->getMockBuilder(EntityManagerInterface::class)->disableOriginalConstructor()->getMock();
+    }
+
+    protected function getEntityUtilsMockFor(string $method): MockObject | TestableEntityUtils
+    {
+        return $this->getMockBuilder(TestableEntityUtils::class)
+            ->setConstructorArgs([$this->entityManager])
+            ->setMethodsExcept([$method])
+            ->getMock();
+    }
+
     /**
      * @see EntityUtils::defaultValueSettersByAccess()
      */
     public function testDefaultValueSettersByAccess(): void
     {
-        $utils = $this->getMockBuilder(TestableEntityUtils::class)
-            ->setMethodsExcept(['defaultValueSettersByAccess'])
-            ->getMock();
+        $utils = $this->getEntityUtilsMockFor('defaultValueSettersByAccess');
 
         $entity = $this->getMockBuilder(Organization::class)->getMock();
         $access = $this->getMockBuilder(Access::class)->getMock();
@@ -48,9 +63,7 @@ class EntityUtilsTest extends TestCase
      */
     public function testOrganizationDefaultValue(): void
     {
-        $utils = $this->getMockBuilder(TestableEntityUtils::class)
-            ->setMethodsExcept(['organizationDefaultValue'])
-            ->getMock();
+        $utils = $this->getEntityUtilsMockFor('organizationDefaultValue');
 
         $organization = $this->getMockBuilder(Organization::class)->getMock();
 
@@ -69,9 +82,7 @@ class EntityUtilsTest extends TestCase
      */
     public function testBillingSettingDefaultValueDefaultValue(): void
     {
-        $utils = $this->getMockBuilder(TestableEntityUtils::class)
-            ->setMethodsExcept(['billingSettingDefaultValueDefaultValue'])
-            ->getMock();
+        $utils = $this->getEntityUtilsMockFor('billingSettingDefaultValueDefaultValue');
 
         $entity = new ResidenceArea();  // Can't test this method with a mocked entity...