diff --git a/provider/legal-azure/src/test/java/org/opengroup/osdu/legal/azure/tags/dataaccess/LegalTagRepositoryImplTest.java b/provider/legal-azure/src/test/java/org/opengroup/osdu/legal/azure/tags/dataaccess/LegalTagRepositoryImplTest.java
index c7f7e3fc6eeb527de849f864e7d452ce2490de29..dd45f72c44eefb41a57e9efea7cbeb79c761f382 100644
--- a/provider/legal-azure/src/test/java/org/opengroup/osdu/legal/azure/tags/dataaccess/LegalTagRepositoryImplTest.java
+++ b/provider/legal-azure/src/test/java/org/opengroup/osdu/legal/azure/tags/dataaccess/LegalTagRepositoryImplTest.java
@@ -59,6 +59,30 @@ public class LegalTagRepositoryImplTest {
         lenient().doReturn(dataPartitionId).when(headers).getPartitionId();
     }
 
+    @Test(expected = AppException.class)
+    public void testCreateLegalTagAlreadyExisting_throwsException() {
+        long id = 1234;
+        String strId = String.valueOf(id);
+        LegalTag legalTag = getLegalTagWithId(id);
+        Optional<LegalTag> optionalLegalTag = Optional.of(legalTag);
+        doReturn(optionalLegalTag).when(cosmosStore).findItem(eq(dataPartitionId), any(), any(), eq(strId), eq(strId), any());
+        sut.create(legalTag);
+    }
+
+    @Test
+    public void testCreateLegalTag_upsertItem_executesCorrectQuery() {
+        long id = 1234;
+        String strId = String.valueOf(id);
+        LegalTag legalTag = getLegalTagWithId(id);
+        long obtainedId = sut.create(legalTag);
+
+        ArgumentCaptor<LegalTagDoc> arg = ArgumentCaptor.forClass(LegalTagDoc.class);
+        verify(cosmosStore).upsertItem(anyString(), any(), any(), arg.capture());
+
+        assertEquals(arg.getValue().getId(), strId);
+        assertEquals(obtainedId, id);
+    }
+
     @Test
     public void testGetLegalTagCollections_whenIdsIsNull() {
         long[] ids = null;