diff --git a/application/module-mail/src/main/java/org/fuseri/modulemail/service/MailService.java b/application/module-mail/src/main/java/org/fuseri/modulemail/service/MailService.java
index a2ee55394890d5c7d5d271005271f0ab76366299..06f5fb822a6b2b8757d8829456c38bdeb6bb0a8d 100644
--- a/application/module-mail/src/main/java/org/fuseri/modulemail/service/MailService.java
+++ b/application/module-mail/src/main/java/org/fuseri/modulemail/service/MailService.java
@@ -8,8 +8,12 @@ import org.springframework.mail.javamail.JavaMailSender;
 @Service
 public class MailService {
 
+    private final JavaMailSender emailSender;
+
     @Autowired
-    private JavaMailSender emailSender;
+    public MailService(JavaMailSender emailSender) {
+        this.emailSender = emailSender;
+    }
 
     public String send(MailDto dto) {
         var message = new SimpleMailMessage();
diff --git a/application/module-mail/src/test/java/org/fuseri/modulemail/service/MailControllerTest.java b/application/module-mail/src/test/java/org/fuseri/modulemail/service/MailControllerTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..4105485fe7681bef0f4d9b91f1b0abec93356d78
--- /dev/null
+++ b/application/module-mail/src/test/java/org/fuseri/modulemail/service/MailControllerTest.java
@@ -0,0 +1,50 @@
+package org.fuseri.modulemail.service;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.fuseri.model.dto.mail.MailDto;
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.test.mock.mockito.MockBean;
+import org.springframework.http.MediaType;
+import org.springframework.test.web.servlet.MockMvc;
+
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
+
+@SpringBootTest
+@AutoConfigureMockMvc
+class MailControllerTest {
+
+    @Autowired
+    private MockMvc mockMvc;
+
+    @Test
+    void getEmail() throws Exception {
+        mockMvc.perform(get("/mail/{id}", 1))
+                .andExpect(status().isOk());
+    }
+
+    @Test
+    void deleteMail() throws Exception {
+        mockMvc.perform(delete("/mail/delete/{id}", 1))
+                .andExpect(status().isOk());
+    }
+
+    @Test
+    void sendMail() throws Exception {
+        // TODO use mocks
+
+        mockMvc.perform(post("/mail")
+                        .content(asJsonString(new MailDto("12marting02@gmail.com", "Hello")))
+                        .contentType(MediaType.APPLICATION_JSON))
+                .andExpect(status().isOk());
+    }
+
+    private static String asJsonString(final Object obj) throws JsonProcessingException {
+        return new ObjectMapper().writeValueAsString(obj);
+    }
+
+}
\ No newline at end of file