Source of file AlgoliaIndexerTest.php
Size: 1,957 Bytes - Last Modified: 2021-12-23T10:59:37+00:00
/var/www/docs.ssmods.com/process/src/tests/AlgoliaIndexerTest.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 | <?php namespace Wilr\SilverStripe\Algolia\Tests; use SilverStripe\Core\Injector\Injector; use SilverStripe\Dev\SapphireTest; use SilverStripe\ORM\DataObjectSchema; use Wilr\SilverStripe\Algolia\Service\AlgoliaIndexer; use Wilr\SilverStripe\Algolia\Service\AlgoliaService; use Wilr\SilverStripe\Algolia\Extensions\AlgoliaObjectExtension; class AlgoliaIndexerTest extends SapphireTest { protected $usesDatabase = true; protected static $extra_dataobjects = [ AlgoliaTestObject::class ]; protected static $required_extensions = [ AlgoliaTestObject::class => AlgoliaObjectExtension::class ]; public static function setUpBeforeClass() { parent::setUpBeforeClass(); // mock AlgoliaService Injector::inst()->get(DataObjectSchema::class)->reset(); Injector::inst()->registerService(new TestAlgoliaService(), AlgoliaService::class); } public function testExportAttributesForObject() { $object = AlgoliaTestObject::create(); $object->Title = 'Foobar'; $object->write(); $indexer = Injector::inst()->get(AlgoliaIndexer::class); $map = $indexer->exportAttributesFromObject($object)->toArray(); $this->assertArrayHasKey('objectID', $map); $this->assertEquals($map['objectTitle'], 'Foobar'); } public function testDeleteExistingItem() { $object = AlgoliaTestObject::create(); $object->Title = 'Delete This'; $object->write(); $indexer = Injector::inst()->get(AlgoliaIndexer::class); $deleted = $indexer->deleteItem($object->getClassName(), $object->AlgoliaUUID); return $this->assertTrue($deleted); } public function testDeleteNonExistentItem() { $indexer = Injector::inst()->get(AlgoliaIndexer::class); $deleted = $indexer->deleteItem(AlgoliaTestObject::class, 9999999); return $this->assertFalse($deleted); } } |