浏览代码

refactor: update namespace for OnChange base classes and interfaces

Olivier Massot 3 年之前
父节点
当前提交
56073c3e03

+ 3 - 3
src/DataPersister/EntityDataPersister.php

@@ -3,9 +3,9 @@
 namespace App\DataPersister;
 
 use ApiPlatform\Core\DataPersister\ContextAwareDataPersisterInterface;
-use App\Service\OnChange\Organization\OnChangeContext;
-use App\Service\OnChange\Organization\OnChangeDefault;
-use App\Service\OnChange\Organization\OnChangeInterface;
+use App\Service\OnChange\OnChangeContext;
+use App\Service\OnChange\OnChangeDefault;
+use App\Service\OnChange\OnChangeInterface;
 use Symfony\Contracts\Service\Attribute\Required;
 
 /**

+ 0 - 1
src/DataPersister/Organization/OrganizationDataPersister.php

@@ -6,7 +6,6 @@ namespace App\DataPersister\Organization;
 use App\DataPersister\EntityDataPersister;
 use App\Entity\Organization\Organization;
 use App\Service\OnChange\Organization\OnOrganizationChange;
-use Exception;
 use JetBrains\PhpStorm\Pure;
 
 /**

+ 1 - 1
src/Service/OnChange/Organization/OnChangeContext.php → src/Service/OnChange/OnChangeContext.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Service\OnChange\Organization;
+namespace App\Service\OnChange;
 
 class OnChangeContext
 {

+ 1 - 1
src/Service/OnChange/Organization/OnChangeDefault.php → src/Service/OnChange/OnChangeDefault.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Service\OnChange\Organization;
+namespace App\Service\OnChange;
 
 class OnChangeDefault implements OnChangeInterface
 {

+ 1 - 1
src/Service/OnChange/Organization/OnChangeInterface.php → src/Service/OnChange/OnChangeInterface.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Service\OnChange\Organization;
+namespace App\Service\OnChange;
 
 interface OnChangeInterface
 {

+ 2 - 0
src/Service/OnChange/Organization/OnOrganizationChange.php

@@ -5,6 +5,8 @@ namespace App\Service\OnChange\Organization;
 
 use App\Entity\Organization\Organization;
 use App\Enum\Organization\LegalEnum;
+use App\Service\OnChange\OnChangeContext;
+use App\Service\OnChange\OnChangeDefault;
 use App\Test\Service\OnChange\Organization\OnOrganizationChangeTest;
 
 /**

+ 6 - 4
src/Service/OnChange/Organization/OnParametersChange.php

@@ -6,7 +6,6 @@ namespace App\Service\OnChange\Organization;
 
 use App\Entity\Booking\Course;
 use App\Entity\Education\EducationNotationConfig;
-use App\Entity\Organization\Organization;
 use App\Entity\Organization\Parameters;
 use App\Enum\Education\AdvancedEducationNotationTypeEnum;
 use App\Message\Command\Parameters\AverageChange;
@@ -14,6 +13,8 @@ use App\Message\Command\Typo3\Typo3DeleteCommand;
 use App\Message\Command\Typo3\Typo3UndeleteCommand;
 use App\Message\Command\Typo3\Typo3UpdateCommand;
 use App\Repository\Booking\CourseRepository;
+use App\Service\OnChange\OnChangeContext;
+use App\Service\OnChange\OnChangeDefault;
 use App\Test\Service\OnChange\Organization\OnParametersChangeTest;
 use App\Service\Organization\Utils as organizationUtils;
 use Symfony\Component\Messenger\MessageBusInterface;
@@ -130,10 +131,11 @@ class OnParametersChange extends OnChangeDefault
     }
 
     /**
-     * Permet de mettre à jour l'année de début des cours concernés suivant la date de l'activité musicale qui vient d'être changés
-     * @param Organization $organization
+     * Permet de mettre à jour l'année de début des cours concernés suivant la date
+     * de l'activité musicale qui vient d'être changée
+     *
+     * @param Parameters $parameters
      * @param \DateTimeInterface $previousMusicalDate
-     * @param \DateTimeInterface $newMusicalDate
      * @throws \Exception
      * @see OnParametersChangeTest::testOnMusicalDateChange()
      */

+ 2 - 0
src/Service/OnChange/Organization/OnSubdomainChange.php

@@ -5,6 +5,8 @@ namespace App\Service\OnChange\Organization;
 use App\Entity\Organization\Subdomain;
 use App\Message\Command\Typo3\Typo3UpdateCommand;
 use App\Service\MailHub;
+use App\Service\OnChange\OnChangeContext;
+use App\Service\OnChange\OnChangeDefault;
 use App\Service\Typo3\BindFileService;
 use Doctrine\ORM\EntityManagerInterface;
 use Symfony\Component\Messenger\MessageBusInterface;

+ 33 - 4
tests/Service/OnChange/Organization/OnParametersChangeTest.php

@@ -13,11 +13,10 @@ use App\Message\Command\Typo3\Typo3DeleteCommand;
 use App\Message\Command\Typo3\Typo3UndeleteCommand;
 use App\Message\Command\Typo3\Typo3UpdateCommand;
 use App\Repository\Booking\CourseRepository;
-use App\Service\OnChange\Organization\OnChangeContext;
+use App\Service\OnChange\OnChangeContext;
 use App\Service\OnChange\Organization\OnParametersChange;
 use AssertionError;
 use PHPUnit\Framework\TestCase;
-use Prophecy\Argument;
 use Symfony\Component\Messenger\Envelope;
 use Symfony\Component\Messenger\MessageBusInterface;
 
@@ -299,11 +298,11 @@ class OnParametersChangeTest extends TestCase
     }
 
     /**
-     * Un cours qui débute le 2/09/2022, si l'année musical passe du 05/09 au 01/09 alors le cours passe de l'année 2021/2022 à 2022/2023
+     * Un cours qui débute le 02/09/2022, si l'année musical passe du 05/09 au 01/09 alors le cours passe de l'année 2021/2022 à 2022/2023
      * @throws \Exception
      * @see OnParametersChange::onMusicalDateChange()
      */
-    public function testOnMusicalDateChange(): void
+    public function testOnMusicalDateChangeToPast(): void
     {
         $this->parameters->setMusicalDate(new \DateTime('2022-09-01'));
 
@@ -326,4 +325,34 @@ class OnParametersChangeTest extends TestCase
         $this->assertEquals(2022, $course->getStartYear());
         $this->assertEquals(2023, $course->getEndYear());
     }
+
+    /**
+     * Un cours qui débute le 02/09/2022, si l'année musical passe du 01/09 au 05/09 alors le cours passe de l'année 2022/2023 à 2021/2022
+     *
+     * @throws \Exception
+     * @see OnParametersChange::onMusicalDateChange()
+     */
+    public function testOnMusicalDateChangeToFuture(): void
+    {
+        $this->parameters->setMusicalDate(new \DateTime('2022-09-05'));
+
+        $organization = new Organization();
+        $this->parameters->setOrganization($organization);
+        $organization->setParameters($this->parameters);
+
+        $course = new Course();
+        $course->setStartYear(2022);
+        $course->setEndYear(2023);
+        $course->setDatetimeStart(new \DateTime('2022-09-02'));
+
+        $this->courseRepositoryMock
+            ->method('getCoursesToFrom')
+            ->willReturn([$course])
+        ;
+
+        $this->onParametersChange->onMusicalDateChange($this->parameters, new \DateTime('2022-09-01'));
+
+        $this->assertEquals(2021, $course->getStartYear());
+        $this->assertEquals(2022, $course->getEndYear());
+    }
 }