| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- <?php
- namespace App\Test\Service\OnChange\Organization;
- use App\Entity\Billing\BillingSetting;
- use App\Entity\Organization\Organization;
- use App\Entity\Organization\Parameters;
- use App\Enum\Organization\LegalEnum;
- use App\Service\OnChange\OnChangeContext;
- use App\Service\OnChange\Organization\OnOrganizationChange;
- use PHPUnit\Framework\TestCase;
- class OnOrganizationChangeTest extends TestCase
- {
- private Organization $organization;
- private OnOrganizationChange $onOrganizationChange;
- public function setUp():void
- {
- $this->organization = new Organization();
- $this->onOrganizationChange = new OnOrganizationChange();
- }
- public function testBeforeChangeNoChange(): void
- {
- $onOrganizationChange = $this
- ->getMockBuilder(OnOrganizationChange::class)
- ->onlyMethods(['onLegalStatusChange'])
- ->disableOriginalConstructor()
- ->getMock();
- $onOrganizationChange
- ->expects(self::never())
- ->method('onLegalStatusChange')
- ->willReturnSelf();
- $previousOrganization = $this->getMockBuilder(Organization::class)->disableOriginalConstructor()->getMock();
- $previousOrganization->expects(self::once())->method('getLegalStatus')->willReturn('ASSOCIATION_LAW_1901');
- $context = $this->getMockBuilder(OnChangeContext::class)->disableOriginalConstructor()->getMock();
- $context->method('previousData')->willReturn($previousOrganization);
- $organization = $this->getMockBuilder(Organization::class)->disableOriginalConstructor()->getMock();
- $organization->expects(self::once())->method('getLegalStatus')->willReturn('ASSOCIATION_LAW_1901');
- $onOrganizationChange->beforeChange($organization, $context);
- }
- public function testBeforeChangeLegalStatusChanged(): void
- {
- $onOrganizationChange = $this
- ->getMockBuilder(OnOrganizationChange::class)
- ->onlyMethods(['onLegalStatusChange'])
- ->disableOriginalConstructor()
- ->getMock();
- $onOrganizationChange
- ->expects(self::once())
- ->method('onLegalStatusChange')
- ->willReturnSelf();
- $previousOrganization = $this->getMockBuilder(Organization::class)->disableOriginalConstructor()->getMock();
- $previousOrganization->expects(self::once())->method('getLegalStatus')->willReturn('ASSOCIATION_LAW_1901');
- $context = $this->getMockBuilder(OnChangeContext::class)->disableOriginalConstructor()->getMock();
- $context->method('previousData')->willReturn($previousOrganization);
- $organization = $this->getMockBuilder(Organization::class)->disableOriginalConstructor()->getMock();
- $organization->expects(self::once())->method('getLegalStatus')->willReturn('LOCAL_AUTHORITY');
- $onOrganizationChange->beforeChange($organization, $context);
- }
- /**
- * @see OnOrganizationChange::onLegalStatusChange()
- */
- public function testOnLegalStatusChange(){
- $this->organization->setLegalStatus(LegalEnum::COMMERCIAL_SOCIETY()->getValue());
- $parameters = new Parameters();
- $parameters->setShowAdherentList(true);
- $billingSettings = new BillingSetting();
- $billingSettings->setApplyVat(false);
- $this->organization->setParameters($parameters);
- $this->organization->setBillingSetting($billingSettings);
- $this->onOrganizationChange->onLegalStatusChange($this->organization);
- $this->assertFalse($this->organization->getParameters()->getShowAdherentList());
- $this->assertTrue($this->organization->getBillingSetting()->getApplyVat());
- }
- }
|