test(user-service): add unit tests for user service

This commit is contained in:
user
2026-10-03 12:21:23 +04:00
parent 470fd95a5f
commit a8570fc6f0
@@ -0,0 +1,72 @@
package com.example;
import static org.junit.jupiter.api.Assertions.assertSame;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;
import static org.mockito.Mockito.when;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
@ExtendWith(MockitoExtension.class)
class UserServiceTest {
@Mock private UserDao userDao;
private UserService userService;
@BeforeEach
void setUp() {
userService = new UserService(userDao);
}
@Test
void createDelegatesToDao() {
User user = new User("User", "user@example.com", 30);
when(userDao.create(user)).thenReturn(user);
User result = userService.create(user);
assertSame(user, result);
verify(userDao).create(user);
verifyNoMoreInteractions(userDao);
}
@Test
void findByIdDelegatesToDao() {
Long id = 1L;
User user = new User("User", "user@example.com", 30);
when(userDao.findById(id)).thenReturn(user);
User result = userService.findById(id);
assertSame(user, result);
verify(userDao).findById(id);
verifyNoMoreInteractions(userDao);
}
@Test
void updateDelegatesToDao() {
User user = new User("User", "user@example.com", 30);
when(userDao.update(user)).thenReturn(user);
User result = userService.update(user);
assertSame(user, result);
verify(userDao).update(user);
verifyNoMoreInteractions(userDao);
}
@Test
void deleteByIdDelegatesToDao() {
Long id = 1L;
userService.deleteById(id);
verify(userDao).deleteById(id);
verifyNoMoreInteractions(userDao);
}
}