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