diff --git a/modules/salesforce_pull/src/QueueHandler.php b/modules/salesforce_pull/src/QueueHandler.php index 0d58262fc97d3171ed19970444d2a327a1aad333..c6a1d76c679e288919d7bc8a7fc521d091d969a4 100644 --- a/modules/salesforce_pull/src/QueueHandler.php +++ b/modules/salesforce_pull/src/QueueHandler.php @@ -22,7 +22,7 @@ class QueueHandler { private function __construct(RestClient $sfapi) { $this->sfapi = $sfapi; - $this->queue = \Drupal::queue('cron_salesforce_pull'); + $this->setQueue(); $this->organizeMappings(); } @@ -70,7 +70,7 @@ class QueueHandler { * of field mappings */ protected function organizeMappings() { - $this->mappings = salesforce_mapping_load_multiple(); + $this->mappings = $this->loadMultipleMappings(); $this->pull_fields = []; foreach($this->mappings as $mapping) { $this->pull_fields[$mapping->getSalesforceObjectType()] = @@ -155,4 +155,19 @@ class QueueHandler { watchdog_exception(__CLASS__, $e); } } + + /** + * Drupal::queue wrapper function for testability + */ + protected function setQueue() { + $this->queue = \Drupal::queue('cron_salesforce_pull'); + } + + /** + * salesforce_mapping_load_multiple() function for testability + */ + protected function loadMultipleMappings() { + return salesforce_mapping_load_multiple(); + } + } diff --git a/tests/src/SelectQueryResultTest.php b/tests/src/SelectQueryResultTest.php new file mode 100644 index 0000000000000000000000000000000000000000..66bfe15d94f30bc3b58e78b02486e4b42c3e2c65 --- /dev/null +++ b/tests/src/SelectQueryResultTest.php @@ -0,0 +1,58 @@ +<?php +namespace Drupal\Tests\salesforce; + +use Drupal\Tests\UnitTestCase; +use Drupal\salesforce\SelectQueryResult; +use Drupal\salesforce\SFID; +use Drupal\salesforce\Exception; + +/** + * Test Object instantitation + * + * @group salesforce_pull + */ + +class SelectQueryResultTest extends UnitTestCase { + static $modules = ['salesforce']; + + /** + * {@inheritdoc} + */ + protected function setUp() { + parent::setUp(); + $result = [ + 'totalSize' => 2, + 'done' => true, + 'records' => [ + [ + 'Id' => '1234567890abcde', + 'attributes' => ['type' => 'dummy',], + 'name' => 'Example', + ], + [ + 'Id' => '1234567890abcdf', + 'attributes' => ['type' => 'dummy',], + 'name' => 'Example2', + ], + ] + ]; + $this->sqr = new SelectQueryResult($result); + } + + /** + * Test object instantiation with good resultd + */ + public function testGoodID() { + $this->assertTrue($this->sqr instanceof SelectQueryResult); + } + + /** + * Test object instantiation with no ID + * @expectedException Exception + */ + public function testNoID() { + $sfid = new SFID('1234567890abcdg'); + $id = $this->sqr->record($sfid); + } + +} diff --git a/tests/src/salesforce_pull/QueueHandlerTest.php b/tests/src/salesforce_pull/QueueHandlerTest.php new file mode 100644 index 0000000000000000000000000000000000000000..48b416e0e7b5f1bb8fb2ef7efe1b1cbb3f36b5dc --- /dev/null +++ b/tests/src/salesforce_pull/QueueHandlerTest.php @@ -0,0 +1,35 @@ +<?php +namespace Drupal\Tests\salesforce\salesforce_pull; + +use Drupal\Tests\UnitTestCase; +use Drupal\salesforce_pull\QueueHandler; +use Drupal\salesforce\SObject; +use Drupal\salesforce_mapping\Entity\SalesforceMappingInterface; +use Drupal\salesforce_pull\PullQueueItem; + +/** + * Test Object instantitation + * + * @group salesforce_pull + */ + +class PullQueueItemTest extends UnitTestCase { + static $modules = ['salesforce_pull']; + + /** + * {@inheritdoc} + */ + protected function setUp() { + parent::setUp(); + $prophecy = $this->prophesize(RestClient::CLASS); + $sfapi = $prophecy->reveal(); + $qh = QueueHandler::create($sfapi); + } + + /** + * Test object instantiation + */ + public function testObject() { + $this->assertTrue($qh instanceof QueueHandler); + } +}