subject = new UpdatedItemEventDispatcher(); $this->referencesExtractor = $this->createMock(ElementReferencesExtractor::class); $this->eventManager = $this->createMock(EventManager::class); $this->subject->setServiceLocator( $this->getServiceLocatorMock( [ ElementReferencesExtractor::class => $this->referencesExtractor, EventManager::SERVICE_ID => $this->eventManager ] ) ); } public function testDispatch(): void { $ids = [1]; $itemUri = 'uri'; $rdfItem = $this->createMock(core_kernel_classes_Resource::class); $rdfItem->method('getUri') ->willReturn($itemUri); $item = $this->createMock(Item::class); $this->eventManager ->method('trigger') ->with( new ItemUpdatedEvent( $itemUri, [ 'includeElementReferences' => $ids, 'objectElementReferences' => $ids, 'imgElementReferences' => $ids, ] ) ); $this->referencesExtractor ->expects($this->at(0)) ->method('extract') ->with($item, XInclude::class, 'href') ->willReturn($ids); $this->referencesExtractor ->expects($this->at(1)) ->method('extract') ->with($item, QtiObject::class, 'data') ->willReturn($ids); $this->referencesExtractor ->expects($this->at(2)) ->method('extract') ->with($item, Img::class, 'src') ->willReturn($ids); $this->assertNull($this->subject->dispatch($item, $rdfItem)); } }