diff --git a/src/main/java/org/zaine/app/service/NotesService.java b/src/main/java/org/zaine/app/service/NotesService.java index d17382d..dee885a 100644 --- a/src/main/java/org/zaine/app/service/NotesService.java +++ b/src/main/java/org/zaine/app/service/NotesService.java @@ -2,7 +2,6 @@ package org.zaine.app.service; import java.util.List; import java.util.logging.Logger; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.zaine.app.model.Notes; import org.zaine.app.repositories.NotesRepository; @@ -11,9 +10,12 @@ import org.zaine.app.repositories.NotesRepository; public class NotesService { private static final Logger logger = Logger.getLogger(NotesService.class.getName()); - @Autowired - private NotesRepository notesRepository; + private final NotesRepository notesRepository; + + public NotesService(NotesRepository notesRepository) { + this.notesRepository = notesRepository; + } public List getAllNotes() { return notesRepository.findAll(); diff --git a/src/test/java/org/zaine/app/service/NotesServiceTest.java b/src/test/java/org/zaine/app/service/NotesServiceTest.java new file mode 100644 index 0000000..8730e1a --- /dev/null +++ b/src/test/java/org/zaine/app/service/NotesServiceTest.java @@ -0,0 +1,65 @@ +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.Notes; +import org.zaine.app.repositories.NotesRepository; + +@ExtendWith(org.mockito.junit.jupiter.MockitoExtension.class) +public class NotesServiceTest { + + @InjectMocks + private NotesService notesService; + + @Mock + private NotesRepository notesRepository; + + + + @Test + public void testGetAllNotesReturnsAllNotes() { + + Notes note1 = new Notes(); + note1.setContent("Note 1"); + Notes note2 = new Notes(); + note2.setContent("Note 2"); + when(notesRepository.findAll()).thenReturn(Arrays.asList(note1, note2)); + + List result = notesService.getAllNotes(); + + assertEquals(2, result.size()); + assertEquals("Note 1", result.get(0).getContent()); + assertEquals("Note 2", result.get(1).getContent()); + + } + + @Test + public void testGetAllNotesReturnsEmptyListWhenNoNotes() { + when(notesRepository.findAll()).thenReturn(Arrays.asList()); + + List result = notesService.getAllNotes(); + + assertTrue(result.isEmpty()); + + } + + @Test + public void testCreateNoteSavesAndReturnsNote() { + Notes note = new Notes(); + note.setContent("New Note"); + note.setAuthorName("Author"); + + when(notesRepository.save(note)).thenReturn(note); + + Notes result = notesService.createNote(note); + + assertEquals("New Note", result.getContent()); + } + +}