@RequestMapping(method = RequestMethod.PUT) public void creer(@PathVariable String login, @RequestBody Utilisateur utilisateur) throws UtilisateurInvalideException { log.info( "=====> Création ou modification de l'utilisateur de login {}: {}.", login, utilisateur); utilisateur.setLogin(login); utilisateursServices.creer(utilisateur); }
@Test public void creerAppelNotification() throws UtilisateurInvalideException { /** Etant donné un utilsateur à créer. */ Utilisateur utilisateur = Utilisateur.builder().login(RandomStringUtils.random(10)).build(); /** Lorsqu'on appelle le service de création. */ services.creer(utilisateur); /** Alors le service de notification est appelé. */ Mockito.verify(notificationsServices).notifier(Mockito.anyString()); }
@Test public void creerVerificationExistanceUtilisateur() throws UtilisateurInvalideException { /** Etant donné un utilsateur à créer. */ Utilisateur utilisateur = Utilisateur.builder().login(RandomStringUtils.random(10)).build(); /* Et que l'utilisateur existe sur le système */ UtilisateursServices spy = Mockito.spy(services); Mockito.when(spy.rechercherParLogin(utilisateur.getLogin())).thenReturn(utilisateur); try { /** Lorsqu'on appelle le service de création. */ spy.creer(utilisateur); fail("Une exception devrait être levée."); } catch (UtilisateurInvalideException e) { /** Alors le service de vérification de l'existance de l'utilsiateur est appelé. */ Mockito.verify(spy).rechercherParLogin(utilisateur.getLogin()); /* Et une exception est levée. */ Assert.assertEquals( UtilisateurInvalideException.ErreurUtilisateur.UTILISATEUR_EXISTANT, e.getErreur()); } }