Proposal: haveInRepository returns the created entity instead of the primary key
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 38/100
Piste de recherche
Commencez par src/Codeception/Module/Doctrine2.php, au niveau de l’implémentation liée de haveInRepository autour des lignes 504-530, et comparez-la avec grabEntityFromRepository. Examinez le comportement existant de la valeur de retour et les utilisations associées avant de décider du contrat ; c’est terminé lorsque la proposition est résolue avec une valeur de retour testée et documentée pour haveInRepository.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
In many tests i have come across situations like this:
$I->haveInRepository(User::class, [
'name' => 'Jane',
'email' => '[email protected]',
'password' => '123456',
'enabled' => true
]);
$user = $I->grabEntityFromRepository(User::class, [
'email' => '[email protected]'
]);
// do assertions with the $user
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.
Please let me know your opinions about it.
- Langage dominant
- PHP
- Étoiles
- 4
- Forks
- 2
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de Codeception/module-doctrine
-
Difficulté 3/5 1-2 jours Accessibilité débutants 38/100
-
Difficulté 4/5 3-5 jours Accessibilité débutants 30/100
-
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
Codeception/module-doctrine#2 · 1 commentaire · 1 réaction ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 42/100
-
Difficulté 3/5 1-2 jours Accessibilité débutants 64/100
Codeception/module-doctrine#6 · 1 commentaire ·
Toutes les issues de Codeception/module-doctrine
Issues similaires
-
Authentication / Authorization Feature: Volunteer
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
Les mainteneurs répondent en général sous 1 jour
-
create:theme --tailwind scaffolds version.yaml at 1.0.0 while the LESS variant scaffolds 1.0.1Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 80/100
Les mainteneurs répondent en général sous 1 jour
-
PHP workflow streaming requests buffer the full SSE responsePeut-être pris @Winoren l’a pris aujourd’hui. Ouvertereview: medium
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
langgenius/dify#44270 · 1 commentaire · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
bug customer-reported
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
MagnaCapax/PMSS#1085 ·
Les mainteneurs répondent en général sous 5 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
Les mainteneurs répondent en général sous 1 jour