瀏覽代碼

AppendixText Service

Andrew Grant 2 月之前
父節點
當前提交
13bcf70168

+ 15 - 0
src/test/java/scot/carricksoftware/grants/GenerateRandomTextValues.java

@@ -7,6 +7,7 @@ package scot.carricksoftware.grants;
 
 import org.springframework.stereotype.Component;
 import scot.carricksoftware.grants.commands.text.*;
+import scot.carricksoftware.grants.domains.text.AppendixText;
 import scot.carricksoftware.grants.domains.text.DocumentText;
 import scot.carricksoftware.grants.domains.text.PersonText;
 import scot.carricksoftware.grants.domains.text.PlaceText;
@@ -63,5 +64,19 @@ public class GenerateRandomTextValues {
         return placeTextCommand;
     }
 
+    public static AppendixText GetRandomAppendixText() {
+        AppendixText appendixText = new AppendixText();
+        appendixText.setId(GetRandomLong());
+        return appendixText;
+    }
+
+    @SuppressWarnings("unused")
+    public static AppendixTextCommand GetRandomAppendixTextCommand() {
+        AppendixTextCommand appendixTextCommand = new AppendixTextCommandImpl();
+        appendixTextCommand.setId(GetRandomLong());
+        return appendixTextCommand;
+    }
+
+
 
 }

+ 13 - 0
src/test/java/scot/carricksoftware/grants/bootstrap/DataLoadTextTest.java

@@ -6,6 +6,7 @@ import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.ArgumentCaptor;
 import org.mockito.Mock;
 import org.mockito.junit.jupiter.MockitoExtension;
+import scot.carricksoftware.grants.commands.text.AppendixTextCommand;
 import scot.carricksoftware.grants.commands.text.DocumentTextCommand;
 import scot.carricksoftware.grants.commands.text.PersonTextCommand;
 import scot.carricksoftware.grants.commands.text.PlaceTextCommand;
@@ -79,6 +80,18 @@ public class DataLoadTextTest {
         assertEquals("Edinburgh", captor.getValue().getHeading());
     }
 
+    @Test
+    public void appendixTextIsCreatedTest() {
+        ArgumentCaptor<AppendixTextCommand> captor = ArgumentCaptor.forClass(AppendixTextCommand.class);
+
+        dataLoadTexts.load();
+
+        verify(appendixTextServiceMock).saveAppendixTextCommand(captor.capture());
+        assertEquals(1L, captor.getValue().getOrder());
+        assertEquals(4L, captor.getValue().getLevel());
+        assertEquals("Edinburgh", captor.getValue().getHeading());
+    }
+
     @Test
     public void placeTextIsCreatedTest() {
         ArgumentCaptor<PlaceTextCommand> captor = ArgumentCaptor.forClass(PlaceTextCommand.class);

+ 75 - 0
src/test/java/scot/carricksoftware/grants/services/text/appendixtext/AppendixTextFindTest.java

@@ -0,0 +1,75 @@
+/*
+ * Copyright (c) Andrew Grant of Carrick Software 27/03/2025, 01:24. All rights reserved.
+ *
+ */
+
+package scot.carricksoftware.grants.services.text.appendixtext;
+
+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;
+import scot.carricksoftware.grants.converters.text.appendixtext.AppendixTextCommandConverterImpl;
+import scot.carricksoftware.grants.converters.text.appendixtext.AppendixTextConverterImpl;
+import scot.carricksoftware.grants.domains.text.AppendixText;
+import scot.carricksoftware.grants.repositories.text.AppendixTextRepository;
+
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Optional;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.mockito.Mockito.when;
+import static scot.carricksoftware.grants.GenerateRandomNumberValues.GetRandomLong;
+import static scot.carricksoftware.grants.GenerateRandomTextValues.GetRandomAppendixText;
+
+@ExtendWith(MockitoExtension.class)
+public class AppendixTextFindTest {
+
+    AppendixTextService appendixTextService;
+
+    @Mock
+    AppendixTextRepository appendixTextRepositoryMock;
+
+    @Mock
+    AppendixTextConverterImpl appendixTextConverterMock;
+
+    @Mock
+    AppendixTextCommandConverterImpl appendixTextCommandConverterMock;
+
+    @BeforeEach
+    public void setUp() {
+        appendixTextService = new AppendixTextServiceImpl(appendixTextRepositoryMock,
+                appendixTextConverterMock,
+                appendixTextCommandConverterMock);
+    }
+
+    @Test
+    public void testFindAll() {
+        List<AppendixText> countries = new ArrayList<>();
+        countries.add(GetRandomAppendixText());
+        when(appendixTextRepositoryMock.findAll()).thenReturn(countries);
+        assertEquals(countries, appendixTextService.findAll());
+    }
+
+    @Test
+    public void testFindByFoundId() {
+        Long id = GetRandomLong();
+        AppendixText appendixText = GetRandomAppendixText();
+        Optional<AppendixText> appendixTextOptional = Optional.of(appendixText);
+        when(appendixTextRepositoryMock.findById(id)).thenReturn(appendixTextOptional);
+        assertEquals(appendixText, appendixTextService.findById(id));
+    }
+
+    @Test
+    public void testFindByNotFoundId() {
+        Long id = GetRandomLong();
+        Optional<AppendixText> empty = Optional.empty();
+        when(appendixTextRepositoryMock.findById(id)).thenReturn(empty);
+        assertNull(appendixTextService.findById(id));
+    }
+
+}

+ 75 - 0
src/test/java/scot/carricksoftware/grants/services/text/appendixtext/AppendixTextSaveTest.java

@@ -0,0 +1,75 @@
+/*
+ * Copyright (c) Andrew Grant of Carrick Software 27/03/2025, 01:24. All rights reserved.
+ *
+ */
+
+package scot.carricksoftware.grants.services.text.appendixtext;
+
+
+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;
+import org.springframework.data.domain.Pageable;
+import scot.carricksoftware.grants.commands.text.AppendixTextCommand;
+import scot.carricksoftware.grants.commands.text.AppendixTextCommandImpl;
+import scot.carricksoftware.grants.converters.text.appendixtext.AppendixTextCommandConverterImpl;
+import scot.carricksoftware.grants.converters.text.appendixtext.AppendixTextConverterImpl;
+import scot.carricksoftware.grants.domains.text.AppendixText;
+import scot.carricksoftware.grants.repositories.text.AppendixTextRepository;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.mockito.Mockito.when;
+import static scot.carricksoftware.grants.GenerateRandomTextValues.GetRandomAppendixText;
+
+
+@ExtendWith(MockitoExtension.class)
+public class AppendixTextSaveTest {
+
+    AppendixTextService appendixTextService;
+
+    @Mock
+    AppendixTextRepository appendixTextRepositoryMock;
+
+    @Mock
+    AppendixTextConverterImpl appendixTextConverterImplMock;
+
+    @Mock
+    AppendixTextCommandConverterImpl appendixTextCommandConverterImplMock;
+
+
+    @BeforeEach
+    public void setUp() {
+        appendixTextService = new AppendixTextServiceImpl(appendixTextRepositoryMock,
+                appendixTextConverterImplMock,
+                appendixTextCommandConverterImplMock);
+    }
+
+    @SuppressWarnings("unused")
+    @Mock
+    Pageable pageableMock;
+
+
+    @Test
+    public void saveTest() {
+        AppendixText appendixText = new AppendixText();
+
+        when(appendixTextRepositoryMock.save(appendixText)).thenReturn(appendixText);
+
+        assertEquals(appendixText, appendixTextService.save(appendixText));
+    }
+
+    @Test
+    public void saveAppendixTextCommandTest() {
+        AppendixText appendixText = GetRandomAppendixText();
+        AppendixTextCommand appendixTextCommand = new AppendixTextCommandImpl();
+        when(appendixTextCommandConverterImplMock.convert(appendixTextCommand)).thenReturn(appendixText);
+        when(appendixTextRepositoryMock.save(appendixText)).thenReturn(appendixText);
+        when(appendixTextConverterImplMock.convert((appendixText))).thenReturn(appendixTextCommand);
+
+        assertEquals(appendixTextCommand, appendixTextService.saveAppendixTextCommand(appendixTextCommand));
+    }
+
+
+}

+ 86 - 0
src/test/java/scot/carricksoftware/grants/services/text/appendixtext/AppendixTextServiceTest.java

@@ -0,0 +1,86 @@
+/*
+ * Copyright (c) Andrew Grant of Carrick Software 27/03/2025, 01:24. All rights reserved.
+ *
+ */
+
+package scot.carricksoftware.grants.services.text.appendixtext;
+
+
+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;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.Pageable;
+import scot.carricksoftware.grants.converters.text.appendixtext.AppendixTextCommandConverterImpl;
+import scot.carricksoftware.grants.converters.text.appendixtext.AppendixTextConverterImpl;
+import scot.carricksoftware.grants.domains.text.AppendixText;
+import scot.carricksoftware.grants.repositories.text.AppendixTextRepository;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+import static scot.carricksoftware.grants.GenerateRandomNumberValues.GetRandomLong;
+import static scot.carricksoftware.grants.GenerateRandomTextValues.GetRandomAppendixText;
+
+
+@ExtendWith(MockitoExtension.class)
+public class AppendixTextServiceTest {
+
+    AppendixTextService appendixTextService;
+
+    @Mock
+    AppendixTextRepository appendixTextRepositoryMock;
+
+    @Mock
+    AppendixTextConverterImpl appendixTextConverterImplMock;
+
+    @Mock
+    AppendixTextCommandConverterImpl appendixTextCommandConverterImplMock;
+
+
+    @BeforeEach
+    public void setUp() {
+        appendixTextService = new AppendixTextServiceImpl(appendixTextRepositoryMock,
+                appendixTextConverterImplMock,
+                appendixTextCommandConverterImplMock);
+    }
+
+    @SuppressWarnings("unused")
+    @Mock
+    Pageable pageableMock;
+
+    @Mock
+    Page<AppendixText> pageMock;
+
+    @Test
+    public void deleteByIdTest() {
+        Long id = GetRandomLong();
+        appendixTextService.deleteById(id);
+        verify(appendixTextRepositoryMock).deleteById(id);
+    }
+
+    @Test
+    public void CountTest() {
+        long result = GetRandomLong();
+        when(appendixTextRepositoryMock.count()).thenReturn(result);
+        assertEquals(result, appendixTextService.count());
+    }
+
+    @Test
+    public void getPagedCountriesTest() {
+        List<AppendixText> result = new ArrayList<>();
+        AppendixText appendixText = GetRandomAppendixText();
+        result.add(appendixText);
+        when(pageMock.getContent()).thenReturn(result);
+        when(appendixTextRepositoryMock.findAll(any(Pageable.class))).thenReturn(pageMock);
+        assertEquals(result, appendixTextService.getPagedAppendixTexts(0));
+    }
+
+
+}