ClassyParagraphsTest.php in Classy paragraphs 8
File
src/Tests/ClassyParagraphsTest.php
View source
<?php
namespace Drupal\classy_paragraphs\Tests;
use Drupal\Tests\BrowserTestBase;
use Drupal\paragraphs\Entity\Paragraph;
use Drupal\node\Entity\Node;
class ClassyParagraphsTest extends BrowserTestBase {
public static $modules = [
'classy_paragraphs',
'node',
'classy_paragraphs_test',
];
protected function setUp() {
parent::setUp();
$admin_user = $this
->drupalCreateUser([
'access content',
'access administration pages',
'administer site configuration',
'administer nodes',
'administer paragraphs types',
'administer content types',
]);
$this
->drupalLogin($admin_user);
}
public function createNodeWithParagraph($styles, $node_type = 'cp_test') {
$values['type'] = 'cp_test_text';
$values['field_cp_test_body'] = $this
->randomString();
$values['field_cp_test_classes'] = $styles;
$paragraph = Paragraph::create($values);
$paragraph
->save();
$node = Node::create([
'type' => $node_type,
'title' => $this
->randomString(),
'uid' => 0,
'status' => 1,
'field_cp_test_paragraphs' => [
[
'target_id' => $paragraph
->id(),
'target_revision_id' => $paragraph
->getRevisionId(),
],
],
]);
$node
->save();
return [
$node,
];
}
public function testStyleConfigurationPage() {
$this
->drupalGet('admin/structure/classy_paragraphs_style');
$this
->assertText('Classy paragraphs style');
}
public function testClassyParagraphsTestModule() {
$this
->drupalGet('admin/structure/paragraphs_type');
$this
->assertText('Text (CP Test)');
$this
->drupalGet('admin/structure/types');
$this
->assertText('CP Test');
}
public function testClassyParagraphsCheckSingleStyle() {
$style = [
'cp_test_loud',
];
$style_css = 'loud-background';
list($node) = $this
->createNodeWithParagraph($style);
$this
->drupalGet('node/' . $node
->id());
$class = $this
->xpath('//*[contains(@class, "' . $style_css . '")]');
$this
->assertTrue(count($class) == 1, $style_css . ' class found.');
}
}