assertConfigurationIsValid([[]], 'custom'); } /** * @test */ public function custom_translations_is_optional_but_must_be_array(): void { $this->assertConfigurationIsValid([ [ 'custom' => [ 'blog' => [ 'translations' => [], ], ], ], ], 'custom.*.translations'); $this->assertPartialConfigurationIsInvalid([ [ 'custom' => [ 'blog' => [ 'translations' => 'array', ], ], ], ], 'custom.*.translations'); } /** * @test */ public function custom_may_contain_name(): void { $this->assertConfigurationIsValid([ [ 'custom' => [ 'blog' => [ 'translations' => [ 'en_US' => [ 'name' => 'Blog', ], ], ], ], ], ], 'custom.*.translations.*.name'); $this->assertConfigurationIsValid([ [ 'custom' => [ 'blog' => [ 'translations' => [ 'en_US' => [ 'name' => '', ], ], ], ], ], ], 'custom.*.translations.*.name'); } /** * @test */ public function custom_remove_existing_is_optional_but_must_be_boolean(): void { $this->assertConfigurationIsValid([ [ 'custom' => [ 'homepage_banner' => [ 'remove_existing' => true, ], ], ], ], 'custom.*.remove_existing'); $this->assertPartialConfigurationIsInvalid([ [ 'custom' => [ 'homepage_banner' => [ 'remove_existing' => 'boolean', ], ], ], ], 'custom.*.remove_existing'); } protected function getConfiguration(): SectionFixture { /** @var FixtureFactoryInterface $sectionFixtureFactory */ $sectionFixtureFactory = $this->getMockBuilder(FixtureFactoryInterface::class)->getMock(); return new SectionFixture($sectionFixtureFactory); } }