public function it_throws_an_exception_when_item_type_not_allowed(FactoryInterface $factory, PackageInterface $package, Article $article, RouteInterface $route)
 {
     $factory->create()->willReturn($article);
     $item = new Item();
     $item->setBody('some item body');
     $item->setType('fake');
     $package->getHeadline()->shouldNotBeCalled();
     $package->getBody()->shouldBeCalled()->willReturn('some package body');
     $package->getItems()->shouldBeCalled()->willReturn(new ArrayCollection([$item]));
     $package->getLanguage()->shouldNotBeCalled();
     $package->getMetadata()->shouldNotBeCalled();
     $article->setTitle('item headline')->shouldNotBeCalled();
     $article->setBody('some package body some item body')->shouldNotBeCalled();
     $article->setLocale('en')->shouldNotBeCalled();
     $article->setRoute($route)->shouldNotBeCalled();
     $article->setMetadata(['some' => 'meta'])->shouldNotBeCalled();
     $this->shouldThrow(\InvalidArgumentException::class)->duringCreateFromPackage($package);
 }