Add architectural tests with PHPat
This commit is contained in:
parent
df04ac0097
commit
e917e41d01
7 changed files with 114 additions and 3 deletions
34
tests/Architecture/ArchTest.php
Normal file
34
tests/Architecture/ArchTest.php
Normal file
|
@ -0,0 +1,34 @@
|
|||
<?php
|
||||
|
||||
namespace Tests\Architecture;
|
||||
|
||||
use Drupal\Core\Controller\ControllerBase;
|
||||
use PHPat\Selector\Selector;
|
||||
use PHPat\Test\Builder\Rule;
|
||||
use PHPat\Test\PHPat;
|
||||
|
||||
final class ArchTest {
|
||||
|
||||
public function test_classes_should_be_final(): Rule {
|
||||
return PHPat::rule()
|
||||
->classes(Selector::inNamespace('Drupal\atdc'))
|
||||
->shouldBeFinal();
|
||||
}
|
||||
|
||||
public function test_controllers_should_extend_ControllerBase(): Rule {
|
||||
return PHPat::rule()
|
||||
->classes(Selector::inNamespace('Drupal\atdc\Controller'))
|
||||
->shouldExtend()
|
||||
->classes(Selector::classname(ControllerBase::class));
|
||||
}
|
||||
|
||||
public function test_controllers_should_have_the_Controller_suffix(): Rule {
|
||||
return PHPat::rule()
|
||||
->classes(Selector::inNamespace('Drupal\atdc\Controller'))
|
||||
->shouldBeNamed(
|
||||
classname: '/Controller$/',
|
||||
regex: TRUE,
|
||||
);
|
||||
}
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue