You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Use haveInRepository, and then be forced to use grabEntityFromRepository to get the entity i just persisted. If i want to check that an entity listener is working, for example, i always have to execute those two statements.
My point is that this would be more useful:
$user = $I->haveInRepository(User::class, [
'name' => 'Jane',
'email' => '[email protected]',
'password' => '123456',
'enabled' => true
]);
// do assertions with the $user
if i wanted to know the primary key of that entity, i would simply write:
$user->getId();
In this context, the ORM is useful for its ability to abstract the details of the persistence process and leave it to me as a programmer to worry more about the data i am working with.
I'm not saying that getting the primary key is not useful, i am saying that it is much more useful to get the entity, where there is more information to work with in my tests, including the persistence identifier.
I like the idea of this, I often have to chain haveInRepository() with grabEntityFromRepository().
For the sake of backwards compatibility (and perhaps consistency) I would be in favour of adding a new method (such as haveInRepositoryAndReturn(), haveInRepositoryAndReturnEntity(), or even haveAndGrabInRepository()) to differentiate between the methods and give developers the option to whether they want the PK or entity returned.
In many tests i have come across situations like this:
Use
haveInRepository
, and then be forced to usegrabEntityFromRepository
to get the entity i just persisted. If i want to check that an entity listener is working, for example, i always have to execute those two statements.My point is that this would be more useful:
if i wanted to know the primary key of that entity, i would simply write:
In this context, the ORM is useful for its ability to abstract the details of the persistence process and leave it to me as a programmer to worry more about the data i am working with.
I'm not saying that getting the primary key is not useful, i am saying that it is much more useful to get the entity, where there is more information to work with in my tests, including the persistence identifier.
https://github.com/Codeception/module-doctrine2/blob/1ae32bdcd77abde4a583462f5949fc86b9bda2a2/src/Codeception/Module/Doctrine2.php#L504-L530
Please let me know your opinions about it.
The text was updated successfully, but these errors were encountered: