beConstructedWith( $menuFactory, $config, $contentRepository, $urlGenerator, $translator, $contentExtension ); } public function it_builds_admin_menu( ContentExtension $contentExtension, Content $content, ContentRepository $contentRepository, Config $config, ContentType $contentType, FactoryInterface $menuFactory, ItemInterface $item, ItemInterface $subitem ): void { // Seriously, what kind of weird-ass Voodoo shit is this PHPSpec? /* $contentExtension->getTitle($content) ->shouldBeCalled() ->willReturn(self::TEST_TITLE); $contentExtension->getLink($content) ->shouldBeCalled() ->willReturn('/'.self::TEST_SLUG); $contentExtension->getEditLink($content) ->shouldBeCalled() ->willReturn('/bolt/edit-by-slug/'.self::TEST_SLUG); */ $contentRepository->findLatest($contentType, 1, BackendMenuBuilder::MAX_LATEST_RECORDS) ->shouldBeCalled() ->willReturn(new Pagerfanta(new ArrayAdapter([]))); $contentType->getSlug()->willReturn(self::TEST_SLUG); $contentType->offsetGet(Argument::type('string'))->shouldBeCalled(); $config->get('contenttypes')->willReturn([$contentType]); $item->getChild(Argument::type('string'))->willReturn($subitem); $item->addChild(Argument::type('string'), Argument::type('array')) ->shouldBeCalled(); $item->getChildren()->willReturn([$subitem]); $subitem->addChild(Argument::type('string'), Argument::type('array')) ->shouldBeCalled(); $subitem->hasChildren()->shouldBeCalled()->willReturn(false); $subitem->getExtra(Argument::type('string'))->shouldBeCalled(); $subitem->getLabel()->shouldBeCalled(); $subitem->getUri()->shouldBeCalled(); $menuFactory->createItem('root')->willReturn($item); $this->buildAdminMenu(); } }