ldc-mesbr-app/tests/Architecture/NamingConventionsTest.php

24 lines
668 B
PHP

<?php
declare(strict_types=1);
use Shared\DDD\UseCases\Input;
describe('naming conventions', function (): void {
arch('all exceptions have Exception suffix')
->expect(['Application', 'Domain', 'Shared'])
->classes()
->extending(\Throwable::class)
->toHaveSuffix('Exception');
arch('port repository interfaces have Repository suffix')
->expect('Domain\\Ports\\Repositories')
->interfaces()
->toHaveSuffix('Repository');
arch('use case inputs are named Input')
->expect('Application\\UseCases')
->classes()
->implementing(Input::class)
->toHaveSuffix('Input');
});