Merge pull request 'Completed base tests for comments' (#2) from testing-base into master

Reviewed-on: #2
This commit was merged in pull request #2.
This commit is contained in:
2026-01-04 15:52:17 +00:00
2 changed files with 97 additions and 1 deletions

View File

@@ -0,0 +1,95 @@
package org.zaine.app.service;
import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.Mockito.*;
import java.util.Arrays;
import java.util.List;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.zaine.app.model.Comments;
import org.zaine.app.repositories.CommentsRepository;
import org.mockito.junit.jupiter.MockitoExtension;
@ExtendWith(MockitoExtension.class)
public class CommentsServiceTest {
@InjectMocks
private CommentsService commentsService;
@Mock
private CommentsRepository commentsRepository;
@Test
public void testGetAllCommentsReturnsAllComments() {
Comments comment1 = new Comments();
comment1.setContent("Comment 1");
Comments comment2 = new Comments();
comment2.setContent("Comment 2");
when(commentsRepository.findAll()).thenReturn(Arrays.asList(comment1, comment2));
List<Comments> result = commentsService.getAllComments();
assertEquals(2, result.size());
assertEquals("Comment 1", result.get(0).getContent());
assertEquals("Comment 2", result.get(1).getContent());
}
@Test
public void testGetAllCommentsBySlugReturnsFilteredComments() {
String slug = "page-1";
Comments comment1 = new Comments();
comment1.setContent("Comment 1");
comment1.setPageSlug("page-1");
Comments comment2 = new Comments();
comment2.setContent("Comment 2");
comment2.setPageSlug("page-2");
when(commentsRepository.findAll()).thenReturn(Arrays.asList(comment1, comment2));
List<Comments> result = commentsService.getAllCommentsBySlug(slug);
assertEquals(1, result.size());
assertEquals("Comment 1", result.get(0).getContent());
}
@Test
public void testGetCommentByIdReturnsComment() {
Comments comment = new Comments();
Integer id = comment.getId();
when(commentsRepository.findById(id)).thenReturn(java.util.Optional.of(comment));
Comments result = commentsService.getCommentById(id);
assertSame(comment, result);
}
@Test
public void testAddCommentSavesComment() {
Comments comment = new Comments();
comment.setContent("New Comment");
when(commentsRepository.save(comment)).thenReturn(comment);
commentsService.addComment(comment);
verify(commentsRepository).save(comment);
}
@Test
public void testGetCommentThreadReturnsThread() {
Integer commentId = 1;
Comments comment1 = new Comments();
comment1.setContent("Reply 1");
Comments comment2 = new Comments();
comment2.setContent("Reply 2");
when(commentsRepository.findCommentThread(commentId)).thenReturn(Arrays.asList(comment1, comment2));
List<Comments> result = commentsService.getCommentThread(commentId);
assertEquals(2, result.size());
assertEquals("Reply 1", result.get(0).getContent());
assertEquals("Reply 2", result.get(1).getContent());
}
}

View File

@@ -10,8 +10,9 @@ import org.mockito.InjectMocks;
import org.mockito.Mock; import org.mockito.Mock;
import org.zaine.app.model.Notes; import org.zaine.app.model.Notes;
import org.zaine.app.repositories.NotesRepository; import org.zaine.app.repositories.NotesRepository;
import org.mockito.junit.jupiter.MockitoExtension;
@ExtendWith(org.mockito.junit.jupiter.MockitoExtension.class) @ExtendWith(MockitoExtension.class)
public class NotesServiceTest { public class NotesServiceTest {
@InjectMocks @InjectMocks