View source
<?php
namespace Drupal\Tests\hijri\Functional;
use Drupal\Tests\BrowserTestBase;
use Drupal\comment\Tests\CommentTestTrait;
class HijriBlockDisplayTest extends BrowserTestBase {
use CommentTestTrait;
protected $defaultTheme = 'stark';
protected static $modules = [
'block',
'hijri',
'node',
];
protected function setUp() : void {
parent::setUp();
$this->hijri_formatter = \Drupal::service('hijri.formatter');
$this->assert = $this
->assertSession();
$this
->drupalCreateContentType([
'type' => 'article',
'name' => t('Article'),
]);
}
public function testFullDisplay() {
$this
->drupalLogin($this
->createUser([
'administer hijri',
]));
$this
->drupalGet('admin/config/regional/date-time/hijri');
$this->assert
->statusCodeEquals(200);
$edit = [
'hijri_correction_value' => 0,
'hijri_display_block' => 'full',
];
$this
->submitForm($edit, 'Save configuration');
$web_user = $this
->drupalCreateUser([
'administer blocks',
]);
$this
->drupalLogin($web_user);
$theme_name = 'stark';
$this
->drupalGet('/admin/structure/block/library/' . $theme_name, [
'query' => [
'region' => 'content',
],
]);
$this->assert
->pageTextContains('Hijri Date');
$settings_configurable = [
'label' => 'Hijri Date',
'id' => 'hijri_date_block',
'theme' => $theme_name,
];
$this
->drupalPlaceBlock('hijri_date_block', $settings_configurable);
$this
->drupalGet('');
$this->assert
->pageTextContains($settings_configurable['label']);
$this->assert
->pageTextContainsOnce(t('@hijri on @gregorian', [
'@hijri' => $this->hijri_formatter
->format(time(), 'custom', 'l j F Y'),
'@gregorian' => \Drupal::service('date.formatter')
->format(time(), 'custom', 'F j, Y'),
]));
}
public function testLongDisplay() {
$this
->drupalLogin($this
->createUser([
'administer hijri',
]));
$this
->drupalGet('admin/config/regional/date-time/hijri');
$this->assert
->statusCodeEquals(200);
$edit = [
'hijri_correction_value' => 0,
'hijri_display_block' => 'long',
];
$this
->submitForm($edit, 'Save configuration');
$web_user = $this
->drupalCreateUser([
'administer blocks',
]);
$this
->drupalLogin($web_user);
$theme_name = 'stark';
$this
->drupalGet('/admin/structure/block/library/' . $theme_name, [
'query' => [
'region' => 'content',
],
]);
$this->assert
->pageTextContains('Hijri Date');
$settings_configurable = [
'label' => 'Hijri Date',
'id' => 'hijri_date_block',
'theme' => $theme_name,
];
$this
->drupalPlaceBlock('hijri_date_block', $settings_configurable);
$this
->drupalGet('');
$this->assert
->pageTextContains($settings_configurable['label']);
$this->assert
->pageTextContainsOnce(t('@datetime', [
'@datetime' => $this->hijri_formatter
->format(time(), (string) \Drupal::config('hijri.config')
->get('hijri_display_block')),
]));
}
public function testMediumDisplay() {
$this
->drupalLogin($this
->createUser([
'administer hijri',
]));
$this
->drupalGet('admin/config/regional/date-time/hijri');
$this->assert
->statusCodeEquals(200);
$edit = [
'hijri_correction_value' => 0,
'hijri_display_block' => 'medium',
];
$this
->submitForm($edit, 'Save configuration');
$web_user = $this
->drupalCreateUser([
'administer blocks',
]);
$this
->drupalLogin($web_user);
$theme_name = 'stark';
$this
->drupalGet('/admin/structure/block/library/' . $theme_name, [
'query' => [
'region' => 'content',
],
]);
$this->assert
->pageTextContains('Hijri Date');
$settings_configurable = [
'label' => 'Hijri Date',
'id' => 'hijri_date_block',
'theme' => $theme_name,
];
$this
->drupalPlaceBlock('hijri_date_block', $settings_configurable);
$this
->drupalGet('');
$this->assert
->pageTextContains($settings_configurable['label']);
$this->assert
->pageTextContainsOnce(t('@datetime', [
'@datetime' => $this->hijri_formatter
->format(time(), (string) \Drupal::config('hijri.config')
->get('hijri_display_block')),
]));
}
public function testShortDisplay() {
$this
->drupalLogin($this
->createUser([
'administer hijri',
]));
$this
->drupalGet('admin/config/regional/date-time/hijri');
$this->assert
->statusCodeEquals(200);
$edit = [
'hijri_correction_value' => 0,
'hijri_types[]' => [
'article',
],
'hijri_display_block' => 'short',
];
$this
->submitForm($edit, 'Save configuration');
$web_user = $this
->drupalCreateUser([
'administer blocks',
]);
$this
->drupalLogin($web_user);
$theme_name = 'stark';
$this
->drupalGet('/admin/structure/block/library/' . $theme_name, [
'query' => [
'region' => 'content',
],
]);
$this->assert
->pageTextContains('Hijri Date');
$settings_configurable = [
'label' => 'Hijri Date',
'id' => 'hijri_date_block',
'theme' => $theme_name,
];
$this
->drupalPlaceBlock('hijri_date_block', $settings_configurable);
$this
->drupalGet('');
$this->assert
->pageTextContains($settings_configurable['label']);
$this->assert
->pageTextContainsOnce(t('@datetime', [
'@datetime' => $this->hijri_formatter
->format(time(), (string) \Drupal::config('hijri.config')
->get('hijri_display_block')),
]));
}
}