/** * {@inheritdoc} */ public function discoverPrinters() { $response = $this->postRequest('search'); $printers = []; foreach ($response['printers'] as $metadata) { $printer = new Printer(); $printer->setVendorId($metadata['id'])->setName($metadata['displayName'])->setDescription($metadata['description'])->setMetadata($metadata); $printers[] = $printer; } return $printers; }
public function testSubmitJob() { $googleClient = $this->getMock('Google_Client'); $service = $this->getMock('PrintService\\Service\\GoogleCloudPrintService', ['postRequest'], [$googleClient]); $service->expects($this->once())->method('postRequest')->will($this->returnValue($this->printJobData)); $printer = new Printer(); $printer->setVendorId('9c11268c-4dd8-c8f4-e63e-3a5f26f0fc8f'); $exampleFile = realpath(__DIR__ . '/../fixtures/example.pdf'); $file = new File(); $file->setLocalPath($exampleFile); $rp = new \ReflectionProperty($file, 'id'); $rp->setAccessible(true); $rp->setValue($file, 853); $rp->setAccessible(false); $job = $service->submitPrintJob($printer, $file); $this->assertSame('4f616ca1-6979-e090-e3a3-705ec5db4d21', $job->getJobId()); $this->assertSame('file-853', $job->getTitle()); $this->assertSame($printer, $job->getPrinter()); $this->assertSame($file, $job->getFile()); $this->assertSame('QUEUED', $job->getStatus()); $this->assertEquals(new \DateTime('2014-04-08 03:58:13'), $job->getSentAt()); $this->assertSame($this->printJobData['job'], $job->getMetadata()); }