@Test public void etantDonneLimiteDemandeEnAttenteAtteinteQuandAjouterDemandeDevraitLancerAssignation() { given(conteneurDemandes.getNombreDemandesEnAttente()).willReturn(LIMITE_DEMANDES_PAR_DEFAUT); declencheur.ajouterDemande(demandeAjoutee); verify(assignateur).lancerAssignation(conteneurDemandes, notificateur); }
@Test public void etantDonneLimiteDemandeEnAttenteAtteinteQuandAjouterDeamndeDevraitReinitiliserMinuterie() { given(conteneurDemandes.getNombreDemandesEnAttente()).willReturn(LIMITE_DEMANDES_PAR_DEFAUT); declencheur.ajouterDemande(demandeAjoutee); verify(minuterie).reinitialiser(); }
@Test public void quandSetFrequenceDevraitChangerFrequenceMinuterieAvantRedemarrerMinuterie() { declencheur.setFrequence(FREQUENCE_3_MINUTES); InOrder inOrder = inOrder(minuterie); inOrder.verify(minuterie).setDelai(FREQUENCE_3_MINUTES); inOrder.verify(minuterie).reinitialiser(); }
@Test public void etantDonneNouvelleLimiteDemandeEnAttenteAtteinteQuandSetLimiteDemandesAvantAssignationDevraitDemanderAssignationDemandes() { given(conteneurDemandes.getNombreDemandesEnAttente()).willReturn(LIMITE_DEMANDES_5); declencheur.setLimiteDemandesAvantAssignation(LIMITE_DEMANDES_5); verify(assignateur).lancerAssignation(conteneurDemandes, notificateur); }
@Test public void etantDonneDemandeAAnnulerAvecIDExistanteQuandAnnulerDemandeDevraitNotifierAnnulation() { permettreTrouverDemandeAAnnulerAvecID(); declencheur.annulerDemande(ID_DEMANDE); verify(notificateur).notifierAnnulation(demandeAnnulee); }
@Test public void etantDonneDemandeAAnnulerAvecIDExistanteQuandAnnulerDemandeDevraitAnnulerReservation() { permettreTrouverDemandeAAnnulerAvecID(); declencheur.annulerDemande(ID_DEMANDE); verify(demandeAnnulee).annulerReservation(); }
@Test public void etantDonneDemandeAAnnulerInexistanteQuandAnnulerDemandeDevraitNeRienFaire() { given(conteneurDemandes.trouverDemandeSelonTitreReunion(TITRE_DEMANDE_ANNULEE)) .willReturn(Optional.empty()); declencheur.annulerDemande(TITRE_DEMANDE_ANNULEE); verify(conteneurDemandes, never()).archiverDemande(any(Demande.class)); }
@Test public void etantDonneNouvelleLimiteDemandeSuperieureNbDemandesEnAttenteQuandSetLimiteDemandesAvantAssignationDevraitNeRienFaire() { given(conteneurDemandes.getNombreDemandesEnAttente()).willReturn(LIMITE_DEMANDES_5); declencheur.setLimiteDemandesAvantAssignation(LIMITE_DEMANDES_7); verify(assignateur, never()) .lancerAssignation(any(ConteneurDemandes.class), any(Notificateur.class)); }
@Test public void etantDonneDemandeAAnnulerExistanteQuandAnnulerDemandeDevraitAnnulerReservation() { permettreTrouverDemandeAAnnuler(); declencheur.annulerDemande(TITRE_DEMANDE_ANNULEE); verify(demandeAnnulee).annulerReservation(); }
@Test public void quandAjouterDemandeDevraitMettreDemandeEnAttente() { declencheur.ajouterDemande(demandeAjoutee); verify(conteneurDemandes).mettreDemandeEnAttente(demandeAjoutee); }
@Test public void quandNotifierDelaiEcouleDevraitLancerAssignation() { declencheur.notifierDelaiEcoule(); verify(assignateur).lancerAssignation(conteneurDemandes, notificateur); }
@Test public void etantDonneDemandeAAnnulerAvecIDInexistanteQuandAnnulerDemandeDevraitNeRienFaire() { given(conteneurDemandes.obtenirDemandeSelonId(ID_DEMANDE)).willReturn(Optional.empty()); declencheur.annulerDemande(ID_DEMANDE); verify(conteneurDemandes, never()).archiverDemande(any(Demande.class)); }