/** * Tests if correct data array is formed. */ public function testGetExportData() { $translation = new Translation(); $translation->setDomain('foo_domain'); $translation->setKey('foo_key'); $translation->setPath('vfs://root/Resources/translations'); $translation->setFormat('yml'); $message = new Message(); $message->setLocale('foo_locale'); $message->setMessage('foo_message'); $message->setStatus(Message::DIRTY); $translation->addMessage($message); $storageMock = $this->getStorageMock(['read', 'write']); $storageMock->expects($this->once())->method('read')->willReturn([$translation]); $storageMock->expects($this->once())->method('write'); $exporter = $this->getExporterMock(['export']); $exporter->expects($this->once())->method('export')->with('vfs://root/Resources/translations/foo_domain.foo_locale.yml', ['foo_key' => 'foo_message']); $filesystemMock = $this->getFilesystemMock(); $filesystemMock->expects($this->once())->method('touch')->with('vfs://root/Resources/translations/foo_domain.foo_locale.yml'); /** @var Export|\PHPUnit_Framework_MockObject_MockObject $exportService */ $exportService = $this->getMockBuilder('ONGR\\TranslationsBundle\\Service\\Export')->setConstructorArgs([$this->getLoadersContainerMock(), $storageMock, $exporter, vfsStream::url('root')])->setMethods(['getFilesystem'])->getMock(); $exportService->expects($this->any())->method('getFilesystem')->willReturn($filesystemMock); $exportService->export(); }