google_tag-8.x-1.x-dev/tests/src/Kernel/ResponseCodeTest.php
tests/src/Kernel/ResponseCodeTest.php
<?php
namespace Drupal\Tests\google_tag\Kernel;
use Symfony\Component\HttpFoundation\Request;
/**
* Tests Response code condition plugin.
*
* @coversDefaultClass \Drupal\google_tag\Plugin\Condition\ResponseCode
*
* @group google_tag
*/
class ResponseCodeTest extends GoogleTagTestCase {
/**
* Response code condition.
*
* @var \Drupal\google_tag\Plugin\Condition\ResponseCode
*/
protected $condition;
/**
* {@inheritdoc}
*/
protected function setUp(): void {
parent::setUp();
$this->condition = $this->container->get('plugin.manager.condition')->createInstance('response_code');
}
/**
* Tests that response code condition works for 4xx requests.
*
* @covers ::evaluate
*
* @throws \Drupal\Component\Plugin\Exception\PluginException
*/
public function testConditionOnInvalidRequest(): void {
$request = Request::create('/non-existent-page');
$this->container->get('http_kernel')->handle($request);
$this->condition->setConfig('response_codes', "401\n403\n404");
$this->assertTrue($this->condition->execute(), 'The response code plugin is working');
$this->condition->setConfig('negate', TRUE);
$this->assertFalse($this->condition->execute(), 'The response code plugin is working with negate flag too');
}
/**
* Tests that response code condition works for 200 requests.
*
* @covers ::evaluate
*
* @throws \Drupal\Component\Plugin\Exception\PluginException
*/
public function testConditionOnValidRequest(): void {
$this->condition->setConfig('response_codes', "200");
$valid_request = Request::create('/');
$this->container->get('http_kernel')->handle($valid_request);
$this->assertTrue($this->condition->execute(), 'Response code plugin is working for 200 code.');
}
}
