Adds support for scoped in HigherOrderExpectations.

This commit is contained in:
Luke Downing
2022-01-23 23:37:03 +00:00
parent d2ca6e630d
commit e91c85496f
2 changed files with 33 additions and 0 deletions

View File

@ -74,6 +74,23 @@ it('works with higher order tests')
->name()->toEqual('Has Methods')
->books()->each->toBeArray;
it('can use the scoped method to lock into the given level for expectations', function () {
expect(new HasMethods())
->attributes()->scoped(fn ($attributes) => $attributes
->name->toBe('Has Methods')
->quantity->toBe(20)
)
->name()->toBeString()->toBe('Has Methods')
->newInstance()->newInstance()->scoped(fn ($instance) => $instance
->name()->toBe('Has Methods')
->quantity()->toBe(20)
->attributes()->scoped(fn ($attributes) => $attributes
->name->toBe('Has Methods')
->quantity->toBe(20)
)
);
});
class HasMethods
{
public function name()