tests pt. 2
continuous-integration/drone/push Build encountered an error
Details
continuous-integration/drone/push Build encountered an error
Details
parent
cc543d1af3
commit
8c79d986d5
@ -0,0 +1,118 @@
|
|||||||
|
package com.example.wfwebapi.controller;
|
||||||
|
|
||||||
|
import com.example.wfwebapi.exception.ResourceNotFoundException;
|
||||||
|
import com.example.wfwebapi.model.RecordQuiz;
|
||||||
|
import com.example.wfwebapi.model.RecordQuizId;
|
||||||
|
import com.example.wfwebapi.repository.RecordQuizRepository;
|
||||||
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.mockito.InjectMocks;
|
||||||
|
import org.mockito.Mock;
|
||||||
|
import org.mockito.Mockito;
|
||||||
|
import org.springframework.dao.DataIntegrityViolationException;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
import static org.mockito.Mockito.*;
|
||||||
|
|
||||||
|
public class RecordQuizControllerTest {
|
||||||
|
|
||||||
|
@Mock
|
||||||
|
private RecordQuizRepository recordQuizRepository;
|
||||||
|
|
||||||
|
@InjectMocks
|
||||||
|
private RecordQuizController recordQuizController;
|
||||||
|
|
||||||
|
private RecordQuizId recordQuizId;
|
||||||
|
private RecordQuiz recordQuiz;
|
||||||
|
|
||||||
|
@BeforeEach
|
||||||
|
public void setUp() {
|
||||||
|
recordQuizId = new RecordQuizId(1L, 1L);
|
||||||
|
recordQuiz = new RecordQuiz();
|
||||||
|
recordQuiz.setId(recordQuizId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testGetRecord_success() {
|
||||||
|
when(recordQuizRepository.findById(recordQuizId)).thenReturn(Optional.of(recordQuiz));
|
||||||
|
|
||||||
|
RecordQuiz result = recordQuizController.getRecord(1L, 1L);
|
||||||
|
|
||||||
|
assertNotNull(result);
|
||||||
|
assertEquals(recordQuizId, result.getId());
|
||||||
|
verify(recordQuizRepository, times(1)).findById(recordQuizId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testGetRecord_notFound() {
|
||||||
|
when(recordQuizRepository.findById(recordQuizId)).thenReturn(Optional.empty());
|
||||||
|
|
||||||
|
ResourceNotFoundException exception = assertThrows(ResourceNotFoundException.class, () -> {
|
||||||
|
recordQuizController.getRecord(1L, 1L);
|
||||||
|
});
|
||||||
|
|
||||||
|
assertEquals("RecordQuiz non trouvé", exception.getMessage());
|
||||||
|
verify(recordQuizRepository, times(1)).findById(recordQuizId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testCreateRecord_success() {
|
||||||
|
when(recordQuizRepository.save(recordQuiz)).thenReturn(recordQuiz);
|
||||||
|
|
||||||
|
RecordQuiz result = recordQuizController.createRecord(recordQuiz);
|
||||||
|
|
||||||
|
assertNotNull(result);
|
||||||
|
assertEquals(recordQuizId, result.getId());
|
||||||
|
verify(recordQuizRepository, times(1)).save(recordQuiz);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testUpdateRecord_success() {
|
||||||
|
when(recordQuizRepository.existsById(recordQuizId)).thenReturn(true);
|
||||||
|
when(recordQuizRepository.save(recordQuiz)).thenReturn(recordQuiz);
|
||||||
|
|
||||||
|
RecordQuiz result = recordQuizController.updateRecord(recordQuiz);
|
||||||
|
|
||||||
|
assertNotNull(result);
|
||||||
|
assertEquals(recordQuizId, result.getId());
|
||||||
|
verify(recordQuizRepository, times(1)).existsById(recordQuizId);
|
||||||
|
verify(recordQuizRepository, times(1)).save(recordQuiz);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testUpdateRecord_notFound() {
|
||||||
|
when(recordQuizRepository.existsById(recordQuizId)).thenReturn(false);
|
||||||
|
|
||||||
|
ResourceNotFoundException exception = assertThrows(ResourceNotFoundException.class, () -> {
|
||||||
|
recordQuizController.updateRecord(recordQuiz);
|
||||||
|
});
|
||||||
|
|
||||||
|
assertEquals("RecordQuiz non trouvé", exception.getMessage());
|
||||||
|
verify(recordQuizRepository, times(1)).existsById(recordQuizId);
|
||||||
|
verify(recordQuizRepository, times(0)).save(recordQuiz);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testDeleteRecord_success() {
|
||||||
|
when(recordQuizRepository.existsById(recordQuizId)).thenReturn(true);
|
||||||
|
|
||||||
|
recordQuizController.deleteRecord(1L, 1L);
|
||||||
|
|
||||||
|
verify(recordQuizRepository, times(1)).deleteById(recordQuizId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testDeleteRecord_notFound() {
|
||||||
|
when(recordQuizRepository.existsById(recordQuizId)).thenReturn(false);
|
||||||
|
|
||||||
|
ResourceNotFoundException exception = assertThrows(ResourceNotFoundException.class, () -> {
|
||||||
|
recordQuizController.deleteRecord(1L, 1L);
|
||||||
|
});
|
||||||
|
|
||||||
|
assertEquals("RecordQuiz non trouvé", exception.getMessage());
|
||||||
|
verify(recordQuizRepository, times(1)).existsById(recordQuizId);
|
||||||
|
verify(recordQuizRepository, times(0)).deleteById(recordQuizId);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in new issue