Added "toBeInvokable" arch expectation.

This commit is contained in:
Ash Allen
2023-08-01 12:09:18 +01:00
parent 4de70da0a0
commit 011bd3ba82
9 changed files with 127 additions and 0 deletions

View File

@ -0,0 +1,29 @@
<?php
use Pest\Arch\Exceptions\ArchExpectationFailedException;
test('class is invokable')
->expect('Tests\\Fixtures\\Arch\\ToBeInvokable\\IsInvokable\\InvokableClass')
->toBeInvokable();
test('opposite class is invokable')
->throws(ArchExpectationFailedException::class)
->expect('Tests\\Fixtures\\Arch\\ToBeInvokable\\IsInvokable\\InvokableClass')
->not->toBeInvokable();
test('class is invokable via a parent class')
->expect('Tests\\Fixtures\\Arch\\ToBeInvokable\\IsInvokable\\InvokableClassViaParent')
->toBeInvokable();
test('class is invokable via a trait')
->expect('Tests\\Fixtures\\Arch\\ToBeInvokable\\IsInvokable\\InvokableClassViaTrait')
->toBeInvokable();
test('failure when the class is not invokable')
->throws(ArchExpectationFailedException::class)
->expect('Tests\\Fixtures\\Arch\\ToBeInvokable\\IsNotInvokable\\IsNotInvokableClass')
->toBeInvokable();
test('class is not invokable')
->expect('Tests\\Fixtures\\Arch\\ToBeInvokable\\IsNotInvokable\\IsNotInvokableClass')
->not->toBeInvokable();