diff --git a/tests/Architecture/SharedTest.php b/tests/Architecture/SharedTest.php new file mode 100644 index 0000000..90c0595 --- /dev/null +++ b/tests/Architecture/SharedTest.php @@ -0,0 +1,65 @@ +expect('Shared') + ->not->toUse([ + 'Domain', + 'Application', + 'Presentation', + 'Infra', + 'Infrastructure', + 'App', + ]); + + arch('Shared layer does not depend on Illuminate or Symfony frameworks') + ->expect('Shared') + ->not->toUse([ + 'Illuminate', + 'Symfony', + ]); + + arch('Shared layer does not use Laravel helper functions') + ->expect('Shared') + ->not->toUse([ + 'abort', + 'app', + 'auth', + 'asset', + 'back', + 'bcrypt', + 'broadcast', + 'cache', + 'config', + 'cookie', + 'csrf_token', + 'dd', + 'dump', + 'decrypt', + 'dispatch', + 'event', + 'factory', + 'logger', + 'redirect', + 'request', + 'response', + 'route', + 'session', + 'storage', + 'url', + 'throw_if', + 'throw_unless', + '__', + 'trans', + 'trans_choice', + 'view', + ]); + + arch('Shared layer uses strict types') + ->expect('Shared') + ->toUseStrictTypes(); +});