which you cannot mock.
interface is used to create an instance upon dependency injection,
and there's no problem to create Mock class which also implements it and use during testing.
problem is that some of the methods have return type of class (not interface!) which is also final, like
public function getUserByEmail(Stringable|string $email): UserRecord;
so that you're getting
Class "Kreait\Firebase\Auth\UserRecord" is declared "final" and cannot be doubled
Describe the bug
there's a final class
which you cannot mock. interface is used to create an instance upon dependency injection, and there's no problem to create Mock class which also implements it and use during testing.
problem is that some of the methods have return type of class (not interface!) which is also final, like
so that you're getting
Installed packages
PHP version and extensions
Steps to reproduce the issue.
Error message/Stack trace
Additional information
No response