/** * Verifica il comportamento della classe nel momento in cui è richiesto di recuperare il prossimo * id disponibile per un inserimento nella tabella Messages del database ma avviene un errore nel * sistema di persistenza dei dati e il sottotipo di {@GetUtil} che effettua l'operazione di * SELECT, invece di una collezione di transfer object, restituisce un riferimento nullo. Il test * verifica che in questo caso anche la chiamata di metodo getGroup restituisca un riferimento * nullo. * * @author Diego Beraldin * @version 2.0 */ @Test public void testGetMessageNewKeyWithNoMessages() { // query da eseguire String query = "select max(message.id) from Message message"; // impedisce l'esecuzione di uniqueResult when(getter.uniqueResult(query)).thenReturn(null); // invoca il metodo da testare Long result = tester.getMessageNewKey(); assertEquals(result, (Object) 1L); // verifica il corretto utilizzo dei mock verify(getter).uniqueResult(query); }
/** * Verifica la possibilità di recuperare il più piccolo id libero per il prossimo inserimento * nella tabella dei messaggi in segreteria del database. In particolare, il test controlla che il * risultato sia conforme alle aspettative e che cioè il valore sia superiore di un'unità rispetto * a quanto restituito dal metodo getUniqueResult dal {@link GetUtil} e che questo metodo sia * invocato correttamente. * * @author Diego Beraldin * @version 2.0 */ @Test public void testGetMessageNewKey() { // id dell'ultimo inserimento in Messages Long lastId = 1L; // query da eseguire String query = "select max(message.id) from Message message"; // ignoriamo il metodo-portoghese when(getter.uniqueResult(query)).thenReturn(lastId); // invoca il metodo da testare Long result = tester.getMessageNewKey(); assertNotNull(result); assertTrue(result == lastId + 1); // verifica il corretto utilizzo dei mock verify(getter).uniqueResult(query); }