ImageStyleWarmerCustomModuleTest.php in Image Style Warmer 8
File
tests/src/Functional/ImageStyleWarmerCustomModuleTest.php
View source
<?php
namespace Drupal\Tests\image_style_warmer\Functional;
use Drupal\Core\Database\Database;
use Drupal\Core\Queue\DatabaseQueue;
use Drupal\Tests\Traits\Core\CronRunTrait;
class ImageStyleWarmerCustomModuleTest extends ImageStyleWarmerTestBase {
use CronRunTrait;
protected $testFile;
protected $testQueue;
protected $testService;
protected function setUp() : void {
parent::setUp();
$this->testQueue = new DatabaseQueue('image_style_warmer_pregenerator', Database::getConnection());
}
public function testImageStyleWarmerDoWarmUpCustomModule() {
$this
->prepareImageStyleWarmerCustomModuleTests();
$this
->assertFalse(file_exists($this->testInitialStyle
->buildUri($this->testFile
->getFileUri())), 'Generated file does not exist.');
$this->testService
->doWarmUp($this->testFile, [
$this->testInitialStyle
->id(),
]);
$this
->assertTrue(file_exists($this->testInitialStyle
->buildUri($this->testFile
->getFileUri())), 'Generated file does exist.');
}
public function testImageStyleWarmerQueueCustomModule() {
$this
->prepareImageStyleWarmerCustomModuleTests();
$this->testService
->addQueue($this->testFile, [
$this->testQueueStyle
->id(),
]);
$this
->assertSame(1, $this->testQueue
->numberOfItems(), 'Image Style Warmer Pregenerator queue should not be empty.');
$this
->assertFalse(file_exists($this->testQueueStyle
->buildUri($this->testFile
->getFileUri())), 'Generated file does not exist.');
$this
->cronRun();
$this
->assertSame(0, $this->testQueue
->numberOfItems(), 'Image Style Warmer Pregenerator queue should be empty.');
$this
->assertTrue(file_exists($this->testQueueStyle
->buildUri($this->testFile
->getFileUri())), 'Generated file does exist.');
}
public function prepareImageStyleWarmerCustomModuleTests() {
$this
->drupalLogin($this->adminUser);
$this
->drupalGet('admin/config/development/performance/image-style-warmer');
$settings = [];
$this
->drupalPostForm('admin/config/development/performance/image-style-warmer', $settings, t('Save configuration'));
$this->testService = \Drupal::service('image_style_warmer.warmer');
$this->testFile = $this
->getTestFile('image');
$this->testFile
->setPermanent();
$this->testFile
->save();
}
}