Refonte Trésorie > Devis - Ajout / Edition#2016
Conversation
|
resolves #2002 |
686683e to
15cc2a5
Compare
556dddb to
0034d1f
Compare
sources/AppBundle/Accounting/Model/Repository/InvoicingRepository.php
Outdated
Show resolved
Hide resolved
sources/AppBundle/Controller/Admin/Accounting/Quotation/EditQuotationAction.php
Outdated
Show resolved
Hide resolved
0034d1f to
eef10b5
Compare
eef10b5 to
257149a
Compare
stakovicz
left a comment
There was a problem hiding this comment.
Gros boulot ! Bravo !
Il reste aussi des commentaires non résolus.
sources/AppBundle/Controller/Admin/Accounting/Quotation/EditQuotationAction.php
Outdated
Show resolved
Hide resolved
9f239ee to
7e2ca90
Compare
|
@stakovicz @Mopolo j'ai implémenté une solution plus propre que le "wait Xs" dans les tests behat. Je retente l'assertion toutes les 100ms pendant un temps donné (cf. Afup\Tests\Behat\Bootstrap\WaitContext). |
Mopolo
left a comment
There was a problem hiding this comment.
C'est beaucoup mieux le wait que t'as fait là !
Faudra voir à l'usage si on besoin de setup du retry auto de ces tests.
Quelques remarques encore mais je trouve qu'on approche du merge :)
| 'scale' => 2, | ||
| ])->add('unitPrice', NumberType::class, [ | ||
| 'label' => 'Prix unitaire HT', | ||
| 'required' => false, |
There was a problem hiding this comment.
Vu que les lignes peuvent maintenant être ajoutées dynamiquement, pourquoi ne pas forcer les colonnes non-nullables ?
Là ça veut dire que si je clic sur le bouton pour en ajouter 3 et que j'en rempli 2, la 3ème sera ignorée.
Avec l'ancien système ça ne posait pas de soucis vu que les 5 étaient en dur. Mais là je trouve ça dommage et contre-intuitif, on n'est plus sûr de ce qui sera enregistré ou pas.
There was a problem hiding this comment.
les champs sont maintenant requis pour pouvoir valider le formulaire. La validation du navigateur va empêcher la soumission. Si une ligne est vide à la soumission, il faudra explicitement le retirer.
| $idsToRemove = $this->invoicingDetailRepository->getRowsIdsPerInvoicingId($quotation->getId()); | ||
| $existingIds = []; | ||
| $this->invoicingRepository->startTransaction(); | ||
| $this->unitOfWork->pushSave($quotation); |
There was a problem hiding this comment.
Je ne maitrise pas du tout Ting, c'est nécessaire ça vu qu'il y a ça plus bas ?
$this->invoicingRepository->save($quotation);There was a problem hiding this comment.
L'utilisation de l'unitOfWork permet prendre en compte les modifications sur des entités de différents type sans pour autant passer par le "bon" repository.
Là les 2 repository sont déjà injecté alors ça ne faisait pas vraiment de sens d'injecter en plus l'unitOfWork. Je l'ai retiré.
9005b8b to
591ecd9
Compare
|
@Mopolo dans les test Behat on crée un devis sans remplir une seule ligne de détail. Est-ce que ce cas d'usage est vraiment représentatif ? |
35123e6 to
88c061b
Compare
88c061b to
4d9cec1
Compare
J'ai un peu modifié la gestions des lignes de devis sur la page d'ajout/modification d'un devis. On peut maintenant rajouter une ligne au besoin.
Avant :

Après :

La gestion des lignes est faite en javascript, pour pouvoir tester cel, j'ai dû rajouter la possibilité de faire des tests avec un vrai navigatuer. Les tests necessitant du javascript sont pilotés avec Behat via Panther sur le navigateur Chromium.