OrganizationProfileCreatorTest.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. namespace App\Test\Service\Organization;
  3. use App\ApiResources\Profile\OrganizationProfile;
  4. use App\Entity\Organization\Organization;
  5. use App\Entity\Organization\Parameters;
  6. use App\Entity\Organization\Settings;
  7. use App\Service\Network\Tree;
  8. use App\Service\Organization\OrganizationProfileCreator;
  9. use App\Service\Security\Module;
  10. use PHPUnit\Framework\TestCase;
  11. class OrganizationProfileCreatorTest extends TestCase
  12. {
  13. private Organization $organization;
  14. public function setUp():void
  15. {
  16. $this->organization = new Organization();
  17. $settings = new Settings();
  18. $settings->setProduct('adminassos');
  19. $this->organization
  20. ->setParameters(new Parameters())
  21. ->setSettings($settings)
  22. ->setName('Foo')
  23. ;
  24. }
  25. /**
  26. * @see OrganizationProfileCreator::createCompleteOrganizationProfile()
  27. */
  28. public function testCreateCompleteOrganizationProfile(){
  29. $moduleMock = $this->getMockBuilder(Module::class)->disableOriginalConstructor()->getMock();
  30. $moduleMock
  31. ->method('getOrganizationModules')
  32. ->with($this->organization)
  33. ->willReturn(["MODULE_A", "MODULE_B"]);
  34. $treeMock = $this->getMockBuilder(Tree::class)->disableOriginalConstructor()->getMock();
  35. $parent = new Organization();
  36. $parent->setName('Parent');
  37. $parent->setParameters(new Parameters());
  38. $treeMock
  39. ->method('findAllParentsAndSortByType')
  40. ->with($this->organization)
  41. ->willReturn([$parent, $parent]);
  42. $organizationProfileCreator = new OrganizationProfileCreator($moduleMock,$treeMock);
  43. $organizationProfile = $organizationProfileCreator->createCompleteOrganizationProfile($this->organization);
  44. $this->assertInstanceOf(OrganizationProfile::class, $organizationProfile);
  45. }
  46. }