public function setDimensionsSetsDimensions()
{
$siteImportService = $this->objectManager->get(SiteImportService::class);
$siteImportService->importFromFile(__DIR__ . '/../Fixtures/NodeStructure.xml', $this->context);
$this->persistenceManager->persistAll();
$this->persistenceManager->clearState();
$this->inject($this->contextFactory, 'contextInstances', []);
$nodeDataRepository = $this->objectManager->get(NodeDataRepository::class);
// The context is not important here, just a quick way to get a (live) workspace
$context = $this->contextFactory->create();
// The identifier comes from the Fixture.
/** @var NodeData $resultingNodeData */
$resultingNodeData = $nodeDataRepository->findOneByIdentifier('9fa376af-a1b8-83ac-bedc-9ad83c8598bc', $context->getWorkspace(true), []);
$this->assertCount(1, $resultingNodeData->getDimensions());
$values = $resultingNodeData->getDimensionValues();
$this->assertEquals('en_US', $values['language'][0]);
$nodeDimension = new NodeDimension($resultingNodeData, 'language', 'lv');
$resultingNodeData->setDimensions([$nodeDimension]);
$nodeDataRepository->update($resultingNodeData);
$this->persistenceManager->persistAll();
$this->persistenceManager->clearState();
$this->inject($this->contextFactory, 'contextInstances', []);
// The context is not important here, just a quick way to get a (live) workspace
$context = $this->contextFactory->create();
// The identifier comes from the Fixture.
/** @var NodeData $resultingNodeData */
$resultingNodeData = $nodeDataRepository->findOneByIdentifier('9fa376af-a1b8-83ac-bedc-9ad83c8598bc', $context->getWorkspace(true), []);
$this->assertCount(1, $resultingNodeData->getDimensions());
$values = $resultingNodeData->getDimensionValues();
$this->assertEquals('lv', $values['language'][0]);
}