refacto: toHaveMethod and toHaveMethods

This commit is contained in:
Nuno Maduro
2024-09-02 19:38:38 +01:00
parent bb8677549a
commit dde943b993
5 changed files with 76 additions and 8 deletions

View File

@ -0,0 +1,29 @@
<?php
use Pest\Arch\Exceptions\ArchExpectationFailedException;
test('class has method')
->expect('Tests\Fixtures\Arch\ToHaveMethod\HasMethod\HasMethod')
->toHaveMethods(['foo']);
test('opposite class has method')
->throws(ArchExpectationFailedException::class)
->expect('Tests\Fixtures\Arch\ToHaveMethod\HasMethod\HasMethod')
->not->toHaveMethods(['foo']);
test('class has method via a parent class')
->expect('Tests\Fixtures\Arch\ToHaveMethod\HasMethod\HasMethodViaParent')
->toHaveMethods(['foo']);
test('class has method via a trait')
->expect('Tests\Fixtures\Arch\ToHaveMethod\HasMethod\HasMethodViaTrait')
->toHaveMethods(['foo']);
test('failure when the class has no method')
->throws(ArchExpectationFailedException::class)
->expect('Tests\Fixtures\Arch\ToHaveMethod\HasNoMethod\HasNoMethodClass')
->toHaveMethods(['foo']);
test('class has no method')
->expect('Tests\Fixtures\Arch\ToHaveMethod\HasNoMethod\HasNoMethodClass')
->not->toHaveMethods(['foo']);