| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- <?php
- namespace App\Tests\Unit\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
- {
- /**
- * @see OnOrganizationChange::beforeChange()
- */
- public function testBeforeChangeNoChange(): void
- {
- $onOrganizationChange = $this
- ->getMockBuilder(OnOrganizationChange::class)
- ->setMethodsExcept(['beforeChange'])
- ->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);
- }
- /**
- * @see OnOrganizationChange::beforeChange()
- */
- public function testBeforeChangeLegalStatusChanged(): void
- {
- $onOrganizationChange = $this
- ->getMockBuilder(OnOrganizationChange::class)
- ->setMethodsExcept(['beforeChange'])
- ->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 testOnLegalStatusChangeToAsso(): void
- {
- $onOrganizationChange = $this
- ->getMockBuilder(OnOrganizationChange::class)
- ->setMethodsExcept(['onLegalStatusChange'])
- ->disableOriginalConstructor()
- ->getMock();
- $organization = $this->getMockBuilder(Organization::class)->disableOriginalConstructor()->getMock();
- $organization->method('getLegalStatus')->willReturn(LegalEnum::ASSOCIATION_LAW_1901()->getValue());
- $parameters = $this->getMockBuilder(Parameters::class)->disableOriginalConstructor()->getMock();
- $organization->method('getParameters')->willReturn($parameters);
- $billingSettings = $this->getMockBuilder(BillingSetting::class)->disableOriginalConstructor()->getMock();
- $organization->method('getBillingSetting')->willReturn($billingSettings);
- $parameters->expects(self::never())->method('setShowAdherentList');
- $billingSettings->expects(self::never())->method('setApplyVat');
- $onOrganizationChange->onLegalStatusChange($organization);
- }
- /**
- * @see OnOrganizationChange::onLegalStatusChange()
- */
- public function testOnLegalStatusChangeToSociety(): void
- {
- $onOrganizationChange = $this
- ->getMockBuilder(OnOrganizationChange::class)
- ->setMethodsExcept(['onLegalStatusChange'])
- ->disableOriginalConstructor()
- ->getMock();
- $organization = $this->getMockBuilder(Organization::class)->disableOriginalConstructor()->getMock();
- $organization->method('getLegalStatus')->willReturn(LegalEnum::COMMERCIAL_SOCIETY()->getValue());
- $parameters = $this->getMockBuilder(Parameters::class)->disableOriginalConstructor()->getMock();
- $organization->method('getParameters')->willReturn($parameters);
- $billingSettings = $this->getMockBuilder(BillingSetting::class)->disableOriginalConstructor()->getMock();
- $organization->method('getBillingSetting')->willReturn($billingSettings);
- $parameters->expects(self::once())->method('setShowAdherentList')->with(false);
- $billingSettings->expects(self::once())->method('setApplyVat')->with(true);
- $onOrganizationChange->onLegalStatusChange($organization);
- }
- }
|