refactor student and logic

This commit is contained in:
Patrick
2025-10-29 09:53:42 +01:00
parent 599823deeb
commit d6eea4cc57
10 changed files with 130 additions and 275 deletions

View File

@ -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);
}
}