diff --git a/xta-adapter/src/test/java/de/ozgcloud/eingang/fim/FimXtaMessageHandlerTest.java b/xta-adapter/src/test/java/de/ozgcloud/eingang/fim/FimXtaMessageHandlerTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..82584e36025e9bb53d79b4fecafb35f2a2d480eb
--- /dev/null
+++ b/xta-adapter/src/test/java/de/ozgcloud/eingang/fim/FimXtaMessageHandlerTest.java
@@ -0,0 +1,81 @@
+package de.ozgcloud.eingang.fim;
+
+import static org.assertj.core.api.Assertions.*;
+import static org.mockito.Mockito.*;
+
+import java.util.List;
+
+import org.junit.jupiter.api.DisplayName;
+import org.junit.jupiter.api.Nested;
+import org.junit.jupiter.api.Test;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.Spy;
+
+import de.ozgcloud.eingang.common.formdata.FormData;
+import de.ozgcloud.eingang.common.formdata.IncomingFile;
+import de.ozgcloud.eingang.common.vorgang.VorgangNummerSupplier;
+import de.ozgcloud.eingang.xta.XtaMessageMetaData;
+
+class FimXtaMessageHandlerTest {
+
+	@Spy
+	@InjectMocks
+	private FimXtaMessageHandler handler;
+
+	@Mock
+	private FimMessageMapper fimMessageMapper;
+
+	@Mock
+	private VorgangNummerSupplier vorgangNummerSupplier;
+
+	@Mock
+	private XtaMessageMetaData xtaMessageMetaData;
+
+	@DisplayName("get form data")
+	@Nested
+	class TestGetFormData {
+
+		@Mock
+		private List<IncomingFile> incomingFiles;
+
+
+		@Mock
+		private FormData formData;
+
+		@DisplayName("should return form data")
+		@Test
+		void shouldReturnFormData() {
+			when(fimMessageMapper.toFormData(xtaMessageMetaData, vorgangNummerSupplier, incomingFiles)).thenReturn(formData);
+
+			var result = handler.getFormData(xtaMessageMetaData, incomingFiles);
+
+			assertThat(result).isEqualTo(formData);
+		}
+	}
+
+	@DisplayName("is responsible")
+	@Nested
+	class TestIsResponsible {
+
+		@DisplayName("should return true")
+		@Test
+		void shouldReturnTrue() {
+			when(xtaMessageMetaData.getMessageType()).thenReturn("fim.123");
+
+			var result = handler.isResponsible(xtaMessageMetaData);
+
+			assertThat(result).isTrue();
+		}
+
+		@DisplayName("should return false")
+		@Test
+		void shouldReturnFalse() {
+			when(xtaMessageMetaData.getMessageType()).thenReturn("xdomea.123");
+
+			var result = handler.isResponsible(xtaMessageMetaData);
+
+			assertThat(result).isFalse();
+		}
+	}
+}