refactor student and logic
This commit is contained in:
@ -0,0 +1,58 @@
|
||||
package com.ebrains.cruddemo.serviceimpl;
|
||||
|
||||
import com.ebrains.cruddemo.entity.Student;
|
||||
import com.ebrains.cruddemo.repository.StudentRepository;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.junit.jupiter.MockitoExtension;
|
||||
import java.util.Optional;
|
||||
import static org.junit.jupiter.api.Assertions.assertNull;
|
||||
import static org.junit.jupiter.api.Assertions.assertSame;
|
||||
import static org.mockito.Mockito.*;
|
||||
|
||||
@ExtendWith(MockitoExtension.class)
|
||||
public class StudentServiceImplTest {
|
||||
|
||||
private final StudentRepository studentRepository = mock(StudentRepository.class);
|
||||
|
||||
@InjectMocks
|
||||
private StudentServiceImpl studentService;
|
||||
|
||||
@Test
|
||||
void getStudentById_found_returnsStudent() {
|
||||
Student s = new Student();
|
||||
when(studentRepository.findById(1L)).thenReturn(Optional.of(s));
|
||||
|
||||
Student result = studentService.getStudentById(1L);
|
||||
|
||||
assertSame(s, result);
|
||||
verify(studentRepository).findById(1L);
|
||||
}
|
||||
|
||||
@Test
|
||||
void getStudentById_notFound_returnsNull() {
|
||||
when(studentRepository.findById(2L)).thenReturn(Optional.empty());
|
||||
|
||||
Student result = studentService.getStudentById(2L);
|
||||
|
||||
assertNull(result);
|
||||
verify(studentRepository).findById(2L);
|
||||
}
|
||||
|
||||
@Test
|
||||
void saveStudent_delegatesToRepository() {
|
||||
Student s = new Student();
|
||||
|
||||
studentService.saveStudent(s);
|
||||
|
||||
verify(studentRepository).save(s);
|
||||
}
|
||||
|
||||
@Test
|
||||
void deleteStudentById_delegatesToRepository() {
|
||||
studentService.deleteStudentById(3L);
|
||||
|
||||
verify(studentRepository).deleteById(3L);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user