Source of file SwiftypeCredentialsTest.php
Size: 3,154 Bytes - Last Modified: 2021-12-24T05:17:12+00:00
/var/www/docs.ssmods.com/process/src/tests/php/Service/SwiftypeCredentialsTest.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 | <?php namespace Ichaber\SSSwiftype\Tests\Service; use Ichaber\SSSwiftype\Service\SwiftypeCredentials; use Ichaber\SSSwiftype\Extensions\SwiftypeSiteConfigFieldsExtension; use SilverStripe\Dev\SapphireTest; use SilverStripe\ORM\ValidationException; use SilverStripe\SiteConfig\SiteConfig; /** * Class SwiftypeCredentialsTest * * @package Ichaber\SSSwiftype\Tests\Service */ class SwiftypeCredentialsTest extends SapphireTest { /** * @var bool */ protected $usesDatabase = true; /** * @var array */ protected static $required_extensions = [ SiteConfig::class => [ SwiftypeSiteConfigFieldsExtension::class, ], ]; /** * @throws ValidationException */ public function testFullCredentials(): void { /** @var SiteConfig|SwiftypeSiteConfigFieldsExtension $config */ $config = SiteConfig::current_site_config(); $config->SwiftypeEnabled = 1; $config->SwiftypeEngineSlug = 'test'; $config->SwiftypeDomainID = 'test'; $config->SwiftypeAPIKey = 'test'; $config->write(); $credentials = SwiftypeCredentials::create(); $this->assertTrue($credentials->isEnabled()); } /** * @throws ValidationException */ public function testNoEngineSlug(): void { /** @var SiteConfig|SwiftypeSiteConfigFieldsExtension $config */ $config = SiteConfig::current_site_config(); $config->SwiftypeEnabled = 1; $config->SwiftypeEngineSlug = null; $config->SwiftypeDomainID = 'test'; $config->SwiftypeAPIKey = 'test'; $config->write(); $credentials = SwiftypeCredentials::create(); $this->assertFalse($credentials->isEnabled()); $this->assertContains('Swiftype Engine Slug value has not been set', $credentials->getMessage()); } /** * @throws ValidationException */ public function testNoDomainID(): void { /** @var SiteConfig|SwiftypeSiteConfigFieldsExtension $config */ $config = SiteConfig::current_site_config(); $config->SwiftypeEnabled = 1; $config->SwiftypeEngineSlug = 'test'; $config->SwiftypeDomainID = null; $config->SwiftypeAPIKey = 'test'; $config->write(); $credentials = SwiftypeCredentials::create(); $this->assertFalse($credentials->isEnabled()); $this->assertContains('Swiftype Domain ID has not been set', $credentials->getMessage()); } /** * @throws ValidationException */ public function testNoApiKey(): void { /** @var SiteConfig|SwiftypeSiteConfigFieldsExtension $config */ $config = SiteConfig::current_site_config(); $config->SwiftypeEnabled = 1; $config->SwiftypeEngineSlug = 'test'; $config->SwiftypeDomainID = 'test'; $config->SwiftypeAPIKey = null; $config->write(); $credentials = SwiftypeCredentials::create(); $this->assertFalse($credentials->isEnabled()); $this->assertContains('Swiftype API Key has not been set', $credentials->getMessage()); } } |