Olivier Massot 5 miesięcy temu
rodzic
commit
fb4b5b1bba

+ 2 - 2
src/Service/Mailer/Builder/Shop/NewStructureArtistPremium/ConfirmationToRepresentativeBuilder.php

@@ -6,13 +6,13 @@ namespace App\Service\Mailer\Builder\Shop\NewStructureArtistPremium;
 
 use App\Entity\Access\Access;
 use App\Enum\Core\EmailSendingTypeEnum;
+use App\Service\Mailer\Builder\AbstractBuilder;
+use App\Service\Mailer\Builder\BuilderInterface;
 use App\Service\Mailer\Email;
 use App\Service\Mailer\Model\MailerModelInterface;
 use App\Service\Mailer\Model\Shop\NewStructureArtistPremium\ConfirmationToRepresentativeModel;
 use Doctrine\Common\Collections\ArrayCollection;
 use Doctrine\ORM\EntityManagerInterface;
-use App\Service\Mailer\Builder\AbstractBuilder;
-use App\Service\Mailer\Builder\BuilderInterface;
 
 /**
  * Classe NewStructureArtistPremiumTrialRequestAccountCreationBuilder qui est chargé de construire l'Email

+ 2 - 2
src/Service/Mailer/Builder/Shop/NewStructureArtistPremium/NotificationToSalesAdminBuilder.php

@@ -6,13 +6,13 @@ namespace App\Service\Mailer\Builder\Shop\NewStructureArtistPremium;
 
 use App\Entity\Access\Access;
 use App\Enum\Core\EmailSendingTypeEnum;
+use App\Service\Mailer\Builder\AbstractBuilder;
+use App\Service\Mailer\Builder\BuilderInterface;
 use App\Service\Mailer\Email;
 use App\Service\Mailer\Model\MailerModelInterface;
 use App\Service\Mailer\Model\Shop\NewStructureArtistPremium\NotificationToSalesAdminModel;
 use Doctrine\Common\Collections\ArrayCollection;
 use Doctrine\ORM\EntityManagerInterface;
-use App\Service\Mailer\Builder\AbstractBuilder;
-use App\Service\Mailer\Builder\BuilderInterface;
 
 /**
  * Classe NewStructureArtistPremiumTrialRequestSalesAdminBuilder qui est chargé de construire l'Email

+ 2 - 1
src/Service/Shop/ShopService.php

@@ -239,7 +239,7 @@ class ShopService
         }
 
         // Check if organization already exists
-        $organizationCreationRequest = $this->createOrganizationCreationRequestFromTrialRequest($request, true);
+        $organizationCreationRequest = $this->createOrganizationCreationRequestFromTrialRequest($request);
         $this->organizationFactory->interruptIfOrganizationExists($organizationCreationRequest);
     }
 
@@ -249,6 +249,7 @@ class ShopService
      * @param NewStructureArtistPremiumTrialRequest $trialRequest The trial request containing organization data
      *
      * @return OrganizationCreationRequest The created organization creation request
+     *
      * @throws \Exception
      */
     protected function createOrganizationCreationRequestFromTrialRequest(

+ 2 - 3
src/Service/Shop/Trial.php

@@ -55,9 +55,8 @@ class Trial
      */
     public function startArtistPremiumTrialForNewStructure(
         Organization $organization,
-        NewStructureArtistPremiumTrialRequest $request
-    ): void
-    {
+        NewStructureArtistPremiumTrialRequest $request,
+    ): void {
         // Update settings
         $settings = $organization->getSettings();
         $settings->setProductBeforeTrial($organization->getSettings()->getProduct());

+ 1 - 1
tests/Unit/Service/Organization/TrialTest.php

@@ -194,7 +194,7 @@ class TrialTest extends TestCase
 
         $this->dolibarrUtils->expects(self::once())
             ->method('addActionComm')
-            ->with(456, "Ouverture de la période d'essai", self::callback(function ($message) {
+            ->with(456, "Ouverture de la période d'essai (nouvelle structure)", self::callback(function ($message) {
                 return strpos($message, 'John') !== false
                     && strpos($message, 'Doe') !== false
                     && strpos($message, 'Manager') !== false

+ 3 - 36
tests/Unit/Service/Shop/ShopServiceTest.php

@@ -47,7 +47,6 @@ class TestableShopService extends ShopService
         parent::sendRequestValidationLink($shopRequest);
     }
 
-
     public function handleNewStructureArtistPremiumTrialRequest(string $token): void
     {
         parent::handleNewStructureArtistPremiumTrialRequest($token);
@@ -70,8 +69,8 @@ class TestableShopService extends ShopService
 
     public function createOrganizationCreationRequestFromTrialRequest(
         NewStructureArtistPremiumTrialRequest $trialRequest,
-        bool $forValidationOnly = false
-    ): \App\ApiResources\Organization\OrganizationCreationRequest {
+        bool $forValidationOnly = false,
+    ): OrganizationCreationRequest {
         return parent::createOrganizationCreationRequestFromTrialRequest($trialRequest, $forValidationOnly);
     }
 }
@@ -305,7 +304,6 @@ class ShopServiceTest extends TestCase
         $shopService->sendRequestValidationLink($shopRequest);
     }
 
-
     /**
      * Test handleNewStructureArtistPremiumTrialRequest method.
      */
@@ -412,33 +410,6 @@ class ShopServiceTest extends TestCase
         $this->assertSame($organization, $result);
     }
 
-    /**
-     * Test generateSubdomain method.
-     */
-    public function testGenerateSubdomain(): void
-    {
-        $shopService = $this->getShopServiceMockFor('generateSubdomain');
-
-        // Test with a simple name
-        $this->assertEquals('test-structure', $shopService->generateSubdomain('Test Structure'));
-
-        // Test with accents and special characters
-        $this->assertEquals('ecole-de-musique', $shopService->generateSubdomain('École de Musique'));
-
-        // Test with multiple spaces and special characters
-        $this->assertEquals('conservatoire-regional', $shopService->generateSubdomain('Conservatoire  Régional!@#'));
-
-        // Test with a very long name (should be truncated to 30 characters)
-        $longName = 'This is a very long name that should be truncated';
-        $this->assertEquals('this-is-a-very-long-name-that', $shopService->generateSubdomain($longName));
-
-        // Test with leading and trailing hyphens (should be trimmed)
-        $this->assertEquals('trimmed', $shopService->generateSubdomain('--Trimmed--'));
-
-        // Test with consecutive special characters (should be replaced with a single hyphen)
-        $this->assertEquals('multiple-hyphens', $shopService->generateSubdomain('Multiple!!!Hyphens'));
-    }
-
     /**
      * Test validateNewStructureArtistPremiumTrialRequest method with valid data.
      */
@@ -526,11 +497,7 @@ class ShopServiceTest extends TestCase
         $trialRequest->method('getStructureType')->willReturn(PrincipalTypeEnum::ARTISTIC_EDUCATION_ONLY);
         $trialRequest->method('getLegalStatus')->willReturn(LegalEnum::ASSOCIATION_LAW_1901);
         $trialRequest->method('getSiren')->willReturn('123456789');
-
-        $shopService->expects(self::once())
-            ->method('generateSubdomain')
-            ->with('Test Structure')
-            ->willReturn('test-structure');
+        $trialRequest->method('getStructureIdentifier')->willReturn('test-structure');
 
         // Set a fake date for testing
         $fakeDate = '2023-05-15 10:30:00';