diff --git a/src/OpenConext/EngineBlock/Metadata/Factory/Adapter/IdentityProviderEntity.php b/src/OpenConext/EngineBlock/Metadata/Factory/Adapter/IdentityProviderEntity.php index 69241ccb3..13d028a03 100644 --- a/src/OpenConext/EngineBlock/Metadata/Factory/Adapter/IdentityProviderEntity.php +++ b/src/OpenConext/EngineBlock/Metadata/Factory/Adapter/IdentityProviderEntity.php @@ -126,10 +126,10 @@ public function hasCompleteOrganizationData(string $locale): bool } /** - * @param $locale + * @param string $locale * @return Organization */ - public function getOrganization($locale): ?Organization + public function getOrganization(string $locale): ?Organization { switch (true) { case ($locale == 'nl'): diff --git a/src/OpenConext/EngineBlock/Metadata/Factory/Adapter/ServiceProviderEntity.php b/src/OpenConext/EngineBlock/Metadata/Factory/Adapter/ServiceProviderEntity.php index ee7837189..2170eeab1 100644 --- a/src/OpenConext/EngineBlock/Metadata/Factory/Adapter/ServiceProviderEntity.php +++ b/src/OpenConext/EngineBlock/Metadata/Factory/Adapter/ServiceProviderEntity.php @@ -128,10 +128,10 @@ public function hasCompleteOrganizationData(string $locale): bool } /** - * @param $locale + * @param string $locale * @return Organization */ - public function getOrganization($locale): ?Organization + public function getOrganization(string $locale): ?Organization { switch (true) { case ($locale == 'nl'): diff --git a/src/OpenConext/EngineBlock/Metadata/Factory/Decorator/AbstractIdentityProvider.php b/src/OpenConext/EngineBlock/Metadata/Factory/Decorator/AbstractIdentityProvider.php index 565cd0b8b..f3c43a428 100644 --- a/src/OpenConext/EngineBlock/Metadata/Factory/Decorator/AbstractIdentityProvider.php +++ b/src/OpenConext/EngineBlock/Metadata/Factory/Decorator/AbstractIdentityProvider.php @@ -114,10 +114,10 @@ public function hasCompleteOrganizationData(string $locale): bool } /** - * @param $locale + * @param string $locale * @return Organization|null */ - public function getOrganization($locale): ?Organization + public function getOrganization(string $locale): ?Organization { return $this->entity->getOrganization($locale); } diff --git a/src/OpenConext/EngineBlock/Metadata/Factory/Decorator/AbstractServiceProvider.php b/src/OpenConext/EngineBlock/Metadata/Factory/Decorator/AbstractServiceProvider.php index 36326ec90..d83f4831c 100644 --- a/src/OpenConext/EngineBlock/Metadata/Factory/Decorator/AbstractServiceProvider.php +++ b/src/OpenConext/EngineBlock/Metadata/Factory/Decorator/AbstractServiceProvider.php @@ -107,10 +107,10 @@ public function hasCompleteOrganizationData(string $locale): bool } /** - * @param $locale + * @param string $locale * @return Organization|null */ - public function getOrganization($locale): ?Organization + public function getOrganization(string $locale): ?Organization { return $this->entity->getOrganization($locale); } diff --git a/src/OpenConext/EngineBlock/Metadata/Factory/Decorator/EngineBlockIdentityProviderInformation.php b/src/OpenConext/EngineBlock/Metadata/Factory/Decorator/EngineBlockIdentityProviderInformation.php index d7d7e53b5..e315b00c0 100644 --- a/src/OpenConext/EngineBlock/Metadata/Factory/Decorator/EngineBlockIdentityProviderInformation.php +++ b/src/OpenConext/EngineBlock/Metadata/Factory/Decorator/EngineBlockIdentityProviderInformation.php @@ -60,9 +60,9 @@ public function getLogo(): ?Logo return $this->engineBlockConfiguration->getLogo(); } - public function getOrganization($locale): ?Organization + public function getOrganization(string $locale): ?Organization { - return $this->engineBlockConfiguration->getOrganization(); + return $this->engineBlockConfiguration->getOrganization($locale); } /** diff --git a/src/OpenConext/EngineBlock/Metadata/Factory/Decorator/EngineBlockServiceProviderInformation.php b/src/OpenConext/EngineBlock/Metadata/Factory/Decorator/EngineBlockServiceProviderInformation.php index e5d15ccd3..d969ac571 100644 --- a/src/OpenConext/EngineBlock/Metadata/Factory/Decorator/EngineBlockServiceProviderInformation.php +++ b/src/OpenConext/EngineBlock/Metadata/Factory/Decorator/EngineBlockServiceProviderInformation.php @@ -60,9 +60,9 @@ public function getLogo(): ?Logo return $this->engineBlockConfiguration->getLogo(); } - public function getOrganization($locale): ?Organization + public function getOrganization(string $locale): ?Organization { - return $this->engineBlockConfiguration->getOrganization(); + return $this->engineBlockConfiguration->getOrganization($locale); } /** diff --git a/src/OpenConext/EngineBlock/Metadata/Factory/IdentityProviderEntityInterface.php b/src/OpenConext/EngineBlock/Metadata/Factory/IdentityProviderEntityInterface.php index 713a5832f..99622c532 100644 --- a/src/OpenConext/EngineBlock/Metadata/Factory/IdentityProviderEntityInterface.php +++ b/src/OpenConext/EngineBlock/Metadata/Factory/IdentityProviderEntityInterface.php @@ -71,10 +71,10 @@ public function getLogo(): ?Logo; public function hasCompleteOrganizationData(string $locale): bool; /** - * @param $locale + * @param string $locale * @return Organization|null */ - public function getOrganization($locale): ?Organization; + public function getOrganization(string $locale): ?Organization; /** * @param $locale diff --git a/src/OpenConext/EngineBlock/Metadata/Factory/ServiceProviderEntityInterface.php b/src/OpenConext/EngineBlock/Metadata/Factory/ServiceProviderEntityInterface.php index 271390bac..925062a21 100644 --- a/src/OpenConext/EngineBlock/Metadata/Factory/ServiceProviderEntityInterface.php +++ b/src/OpenConext/EngineBlock/Metadata/Factory/ServiceProviderEntityInterface.php @@ -63,10 +63,10 @@ public function getLogo(): ?Logo; public function hasCompleteOrganizationData(string $locale): bool; /** - * @param $locale + * @param string $locale * @return Organization|null */ - public function getOrganization($locale): ?Organization; + public function getOrganization(string $locale): ?Organization; /** * @param $locale diff --git a/src/OpenConext/EngineBlock/Metadata/Factory/ValueObject/EngineBlockConfiguration.php b/src/OpenConext/EngineBlock/Metadata/Factory/ValueObject/EngineBlockConfiguration.php index b6c43a0bb..d75df5e68 100644 --- a/src/OpenConext/EngineBlock/Metadata/Factory/ValueObject/EngineBlockConfiguration.php +++ b/src/OpenConext/EngineBlock/Metadata/Factory/ValueObject/EngineBlockConfiguration.php @@ -30,6 +30,11 @@ */ class EngineBlockConfiguration { + /** + * @var \Symfony\Component\Translation\TranslatorInterface + */ + private $translator; + /** * @var string */ @@ -84,11 +89,12 @@ public function __construct( int $logoWidth, int $logoHeight ) { + $this->translator = $translator; $this->suiteName = $translator->trans('suite_name'); $this->engineHostName = $engineHostName; - $this->organizationName = $translator->trans('metadata_organization_name'); - $this->organizationDisplayName = $translator->trans('metadata_organization_displayname'); - $this->organizationUrl = $translator->trans('metadata_organization_url'); + $this->organizationName = 'metadata_organization_name'; + $this->organizationDisplayName = 'metadata_organization_displayname'; + $this->organizationUrl = 'metadata_organization_url'; $this->supportMail = $supportMail; $this->description = $description; @@ -118,9 +124,12 @@ public function getHostname(): string return $this->engineHostName; } - public function getOrganization() : Organization + public function getOrganization(string $locale) : Organization { - return new Organization($this->organizationName, $this->organizationDisplayName, $this->organizationUrl); + $organizationName = $this->translator->trans($this->organizationName, [], null, $locale); + $organizationDisplayName = $this->translator->trans($this->organizationDisplayName, [], null, $locale); + $organizationUrl = $this->translator->trans($this->organizationUrl, [], null, $locale); + return new Organization($organizationName, $organizationDisplayName, $organizationUrl); } public function getLogo(): Logo diff --git a/tests/unit/OpenConext/EngineBlock/Metadata/Factory/AbstractEntityTest.php b/tests/unit/OpenConext/EngineBlock/Metadata/Factory/AbstractEntityTest.php index bed994f65..62e8a16be 100644 --- a/tests/unit/OpenConext/EngineBlock/Metadata/Factory/AbstractEntityTest.php +++ b/tests/unit/OpenConext/EngineBlock/Metadata/Factory/AbstractEntityTest.php @@ -33,6 +33,7 @@ use OpenConext\EngineBlock\Metadata\Service; use OpenConext\EngineBlock\Metadata\ShibMdScope; use OpenConext\EngineBlock\Metadata\X509\X509Certificate; +use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; use ReflectionClass; use ReflectionProperty; @@ -512,6 +513,64 @@ protected function getServiceProviderMockProperties() ]; } + protected function setTranslationExpectancies(MockObject $translator) + { + $translator->expects($this->at(0)) + ->method('trans') + ->with('suite_name') + ->willReturn('test-suite'); + + $translator->expects($this->at(1)) + ->method('trans') + ->with('metadata_organization_name') + ->willReturn('configuredOrganizationName'); + + $translator->expects($this->at(2)) + ->method('trans') + ->with('metadata_organization_name', [], null, 'nl') + ->willReturn('configuredOrganizationName'); + + $translator->expects($this->at(3)) + ->method('trans') + ->with('metadata_organization_displayname', [], null, 'nl') + ->willReturn('configuredOrganizationDisplayName'); + + $translator->expects($this->at(4)) + ->method('trans') + ->with('metadata_organization_url', [], null, 'nl') + ->willReturn('configuredOrganizationUrl'); + + $translator->expects($this->at(5)) + ->method('trans') + ->with('metadata_organization_name', [], null, 'en') + ->willReturn('configuredOrganizationName'); + + $translator->expects($this->at(6)) + ->method('trans') + ->with('metadata_organization_displayname', [], null, 'en') + ->willReturn('configuredOrganizationDisplayName'); + + $translator->expects($this->at(7)) + ->method('trans') + ->with('metadata_organization_url', [], null, 'en') + ->willReturn('configuredOrganizationUrl'); + + $translator->expects($this->at(8)) + ->method('trans') + ->with('metadata_organization_name', [], null, 'pt') + ->willReturn('configuredOrganizationName'); + + $translator->expects($this->at(9)) + ->method('trans') + ->with('metadata_organization_displayname', [], null, 'pt') + ->willReturn('configuredOrganizationDisplayName'); + + $translator->expects($this->at(10)) + ->method('trans') + ->with('metadata_organization_url', [], null, 'pt') + ->willReturn('configuredOrganizationUrl'); + } + private function getParameters($className, $skipParameters = []) { $results = []; diff --git a/tests/unit/OpenConext/EngineBlock/Metadata/Factory/Decorator/EngineblockIdentityProviderInformationTest.php b/tests/unit/OpenConext/EngineBlock/Metadata/Factory/Decorator/EngineblockIdentityProviderInformationTest.php index f00a8c26e..8c0601612 100644 --- a/tests/unit/OpenConext/EngineBlock/Metadata/Factory/Decorator/EngineblockIdentityProviderInformationTest.php +++ b/tests/unit/OpenConext/EngineBlock/Metadata/Factory/Decorator/EngineblockIdentityProviderInformationTest.php @@ -31,34 +31,17 @@ public function test_methods() $adapter = $this->createIdentityProviderAdapter(); $translator = $this->createMock(TranslatorInterface::class); - $translator->expects($this->at(0)) - ->method('trans') - ->with('suite_name') - ->willReturn('test-suite'); - $translator->expects($this->at(1)) - ->method('trans') - ->with('metadata_organization_name') - ->willReturn('configuredOrganizationName'); - - $translator->expects($this->at(2)) - ->method('trans') - ->with('metadata_organization_displayname') - ->willReturn('configuredOrganizationDisplayName'); - - $translator->expects($this->at(3)) - ->method('trans') - ->with('metadata_organization_url') - ->willReturn('configuredOrganizationUrl'); + $this->setTranslationExpectancies($translator); $configuration = new EngineBlockConfiguration( $translator, - 'configuredSupportMail', - 'configuredDescription', - 'example.org', - '/configuredLogoUrl', - 1209, - 1009 + 'configuredSupportMail', + 'configuredDescription', + 'example.org', + '/configuredLogoUrl', + 1209, + 1009 ); $decorator = new EngineBlockIdentityProviderInformation($adapter, $configuration); diff --git a/tests/unit/OpenConext/EngineBlock/Metadata/Factory/Decorator/EngineblockServiceProviderInformationTest.php b/tests/unit/OpenConext/EngineBlock/Metadata/Factory/Decorator/EngineblockServiceProviderInformationTest.php index b717e9cf7..f27e5b6a4 100644 --- a/tests/unit/OpenConext/EngineBlock/Metadata/Factory/Decorator/EngineblockServiceProviderInformationTest.php +++ b/tests/unit/OpenConext/EngineBlock/Metadata/Factory/Decorator/EngineblockServiceProviderInformationTest.php @@ -32,25 +32,8 @@ public function test_methods() $adapter = $this->createServiceProviderAdapter(); $translator = $this->createMock(TranslatorInterface::class); - $translator->expects($this->at(0)) - ->method('trans') - ->with('suite_name') - ->willReturn('test-suite'); - $translator->expects($this->at(1)) - ->method('trans') - ->with('metadata_organization_name') - ->willReturn('configuredOrganizationName'); - - $translator->expects($this->at(2)) - ->method('trans') - ->with('metadata_organization_displayname') - ->willReturn('configuredOrganizationDisplayName'); - - $translator->expects($this->at(3)) - ->method('trans') - ->with('metadata_organization_url') - ->willReturn('configuredOrganizationUrl'); + $this->setTranslationExpectancies($translator); $configuration = new EngineBlockConfiguration( $translator, diff --git a/tests/unit/OpenConext/EngineBlock/Metadata/Factory/Decorator/ProxiedIdentityProviderTest.php b/tests/unit/OpenConext/EngineBlock/Metadata/Factory/Decorator/ProxiedIdentityProviderTest.php index 0b95e5579..148133d32 100644 --- a/tests/unit/OpenConext/EngineBlock/Metadata/Factory/Decorator/ProxiedIdentityProviderTest.php +++ b/tests/unit/OpenConext/EngineBlock/Metadata/Factory/Decorator/ProxiedIdentityProviderTest.php @@ -111,16 +111,6 @@ private function createConfiguration(): EngineBlockConfiguration ->with('metadata_organization_name') ->willReturn('configuredOrganizationName'); - $translator->expects($this->at(2)) - ->method('trans') - ->with('metadata_organization_displayname') - ->willReturn('configuredOrganizationDisplayName'); - - $translator->expects($this->at(3)) - ->method('trans') - ->with('metadata_organization_url') - ->willReturn('configuredOrganizationUrl'); - $configuration = new EngineBlockConfiguration( $translator, 'configuredSupportMail', diff --git a/tests/unit/OpenConext/EngineBlock/Metadata/Factory/Factory/IdentityProviderFactoryTest.php b/tests/unit/OpenConext/EngineBlock/Metadata/Factory/Factory/IdentityProviderFactoryTest.php index 809ec179a..952a13170 100644 --- a/tests/unit/OpenConext/EngineBlock/Metadata/Factory/Factory/IdentityProviderFactoryTest.php +++ b/tests/unit/OpenConext/EngineBlock/Metadata/Factory/Factory/IdentityProviderFactoryTest.php @@ -98,16 +98,6 @@ public function test_create_idp_entity_from_entity_properties() ->with('metadata_organization_name') ->willReturn('configuredOrganizationName'); - $this->translator->expects($this->at(2)) - ->method('trans') - ->with('metadata_organization_displayname') - ->willReturn('configuredOrganizationDisplayName'); - - $this->translator->expects($this->at(3)) - ->method('trans') - ->with('metadata_organization_url') - ->willReturn('configuredOrganizationUrl'); - $this->configuration = new EngineBlockConfiguration( $this->translator, 'configuredSupportMail', diff --git a/tests/unit/OpenConext/EngineBlock/Metadata/Factory/Factory/ServiceProviderFactoryTest.php b/tests/unit/OpenConext/EngineBlock/Metadata/Factory/Factory/ServiceProviderFactoryTest.php index b320f9dfc..48e8ec45d 100644 --- a/tests/unit/OpenConext/EngineBlock/Metadata/Factory/Factory/ServiceProviderFactoryTest.php +++ b/tests/unit/OpenConext/EngineBlock/Metadata/Factory/Factory/ServiceProviderFactoryTest.php @@ -18,11 +18,9 @@ namespace OpenConext\EngineBlock\Metadata\Factory\Factory; use EngineBlock_Attributes_Metadata as AttributesMetadata; -use Mockery\Mock; use OpenConext\EngineBlock\Exception\MissingParameterException; use OpenConext\EngineBlock\Metadata\Coins; use OpenConext\EngineBlock\Metadata\ContactPerson; -use OpenConext\EngineBlock\Metadata\Entity\ServiceProvider; use OpenConext\EngineBlock\Metadata\Factory\AbstractEntityTest; use OpenConext\EngineBlock\Metadata\Factory\ServiceProviderEntityInterface; use OpenConext\EngineBlock\Metadata\Factory\ValueObject\EngineBlockConfiguration; @@ -114,25 +112,7 @@ public function test_create_stepup_entity_from() public function test_eb_properties() { - $this->translator->expects($this->at(0)) - ->method('trans') - ->with('suite_name') - ->willReturn('test-suite'); - - $this->translator->expects($this->at(1)) - ->method('trans') - ->with('metadata_organization_name') - ->willReturn('configuredOrganizationName'); - - $this->translator->expects($this->at(2)) - ->method('trans') - ->with('metadata_organization_displayname') - ->willReturn('configuredOrganizationDisplayName'); - - $this->translator->expects($this->at(3)) - ->method('trans') - ->with('metadata_organization_url') - ->willReturn('configuredOrganizationUrl'); + $this->setTranslationExpectancies($this->translator); $this->configuration = new EngineBlockConfiguration( $this->translator, @@ -295,16 +275,6 @@ public function test_stepup_properties() ->with('metadata_organization_name') ->willReturn('configuredOrganizationName'); - $this->translator->expects($this->at(2)) - ->method('trans') - ->with('metadata_organization_displayname') - ->willReturn('configuredOrganizationDisplayName'); - - $this->translator->expects($this->at(3)) - ->method('trans') - ->with('metadata_organization_url') - ->willReturn('configuredOrganizationUrl'); - $this->configuration = new EngineBlockConfiguration( $this->translator, 'configuredSupportMail', diff --git a/tests/unit/OpenConext/EngineBlock/Metadata/Factory/ValueObject/EngineBlockConfigurationTest.php b/tests/unit/OpenConext/EngineBlock/Metadata/Factory/ValueObject/EngineBlockConfigurationTest.php index a2bc6b162..8eb4c49c3 100644 --- a/tests/unit/OpenConext/EngineBlock/Metadata/Factory/ValueObject/EngineBlockConfigurationTest.php +++ b/tests/unit/OpenConext/EngineBlock/Metadata/Factory/ValueObject/EngineBlockConfigurationTest.php @@ -42,17 +42,22 @@ public function test_configuration_creation() ->shouldReceive('trans') ->with('suite_name')->once() ->andReturn($suitName); + $translator + ->shouldReceive('trans') + ->with('metadata_organization_name', [], null, 'en')->once() + ->andReturn($orgName); $translator ->shouldReceive('trans') ->with('metadata_organization_name')->once() ->andReturn($orgName); $translator ->shouldReceive('trans') - ->with('metadata_organization_displayname')->once() + ->with('metadata_organization_displayname', [], null, 'en')->once() ->andReturn($orgDisplayName); + $translator ->shouldReceive('trans') - ->with('metadata_organization_url')->once() + ->with('metadata_organization_url', [], null, 'en')->once() ->andReturn($orgUrl); $mail = 'mail@example.org'; @@ -98,9 +103,10 @@ public function test_configuration_creation() $this->assertEquals($width, $configuration->getLogo()->width); $this->assertEquals($height, $configuration->getLogo()->height); - $this->assertInstanceOf(Organization::class, $configuration->getOrganization()); - $this->assertEquals($orgUrl, $configuration->getOrganization()->url); - $this->assertEquals($orgName, $configuration->getOrganization()->name); - $this->assertEquals($orgDisplayName, $configuration->getOrganization()->displayName); + $organization = $configuration->getOrganization('en'); + $this->assertInstanceOf(Organization::class, $organization); + $this->assertEquals($orgUrl, $organization->url); + $this->assertEquals($orgName, $organization->name); + $this->assertEquals($orgDisplayName, $organization->displayName); } }