/** * @param InputInterface $input * @param OutputInterface $output */ public function execute(InputInterface $input, OutputInterface $output) { $id = $input->getOption('id'); if ($id === null) { $output->writeln('<info>Syncing with all Salesforce accounts</info>'); } else { $output->writeln(sprintf('<info>Syncing with Salesforce account %s</info>', $id)); } list($salesforceRecords, $localUpdates) = $this->service->sync($id); $output->writeln(sprintf('<info>Got <comment>%d</comment> records from Salesforce</info>', $salesforceRecords)); $output->writeln(sprintf('<info>Updated <comment>%d</comment> local records</info>', $localUpdates)); }
public function testQueryMore() { $expected1 = [['id' => '00XXXXXX0XXXXXXXXX', 'customEmptyField' => null, 'customField' => 'custom field value', 'ownerName' => 'Name of the Owner']]; $expected2 = [['id' => '2 00XXXXXX0XXXXXXXXX', 'customEmptyField' => null, 'customField' => '2 custom field value', 'ownerName' => '2 Name of the Owner']]; $iteration = 1; $service = new Salesforce\Service($this->mockClientForQueryMore(), $this->fieldmap, '', function (array $records) use($expected1, $expected2, &$iteration) { $this->assertEquals(1, count($records)); if ($iteration == 1) { $this->assertEquals($expected1, $records, 'first batch'); } else { $this->assertEquals($expected2, $records, 'second batch'); } $iteration += 1; return 42; }); list($salesforceResults, $updatedRecords) = $service->sync(); $this->assertEquals(2, $salesforceResults); $this->assertEquals(84, $updatedRecords); }