Jelajahi Sumber

CapitaliseOrganisation Test

Andrew Grant 5 bulan lalu
induk
melakukan
71533c6c8a

+ 13 - 0
src/main/java/scot/carricksoftware/grants/capitalisation/places/organisations/CapitaliseOrganisation.java

@@ -0,0 +1,13 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grants.capitalisation.places.organisations;
+
+import scot.carricksoftware.grants.commands.places.organisations.OrganisationCommand;
+
+public interface CapitaliseOrganisation {
+
+    void capitalise(OrganisationCommand command);
+}

+ 23 - 0
src/main/java/scot/carricksoftware/grants/capitalisation/places/organisations/CapitaliseOrganisationImpl.java

@@ -0,0 +1,23 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grants.capitalisation.places.organisations;
+
+import scot.carricksoftware.grants.capitalisation.CapitaliseString;
+import scot.carricksoftware.grants.commands.places.organisations.OrganisationCommand;
+
+public class CapitaliseOrganisationImpl implements CapitaliseOrganisation {
+
+    private final CapitaliseString capitaliseString;
+
+    public CapitaliseOrganisationImpl(CapitaliseString capitaliseString) {
+        this.capitaliseString = capitaliseString;
+    }
+
+    @Override
+    public void capitalise(OrganisationCommand command) {
+        command.setName(capitaliseString.capitalise(command.getName()));
+    }
+}

+ 41 - 0
src/test/java/scot/carricksoftware/grants/capitalisation/places/organisations/CapitaliseOrganisationTest.java

@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grants.capitalisation.places.organisations;
+
+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.capitalisation.CapitaliseString;
+import scot.carricksoftware.grants.commands.places.organisations.OrganisationCommand;
+import scot.carricksoftware.grants.commands.places.organisations.OrganisationCommandImpl;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.mockito.Mockito.when;
+
+@ExtendWith(MockitoExtension.class)
+class CapitaliseOrganisationTest {
+
+    private CapitaliseOrganisation capitaliseOrganisation;
+
+    @Mock
+    private CapitaliseString capitaliseStringMock;
+
+    @BeforeEach
+    void setUp() {
+        capitaliseOrganisation = new CapitaliseOrganisationImpl(capitaliseStringMock);
+    }
+
+    @Test
+    void capitaliseNameTest() {
+        OrganisationCommand organisationCommand = new OrganisationCommandImpl();
+        organisationCommand.setName("lower");
+        when(capitaliseStringMock.capitalise("lower")).thenReturn("Lower");
+        capitaliseOrganisation.capitalise(organisationCommand);
+        assertEquals("Lower",organisationCommand.getName());
+    }
+}