diff --git a/api/src/test/java/org/openmrs/api/impl/ProviderServiceImplTest.java b/api/src/test/java/org/openmrs/api/impl/ProviderServiceImplTest.java new file mode 100644 index 00000000000..60958480c1f --- /dev/null +++ b/api/src/test/java/org/openmrs/api/impl/ProviderServiceImplTest.java @@ -0,0 +1,42 @@ +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.openmrs.Provider; +import org.openmrs.api.APIException; +import org.openmrs.api.db.ProviderDAO; +import org.openmrs.api.impl.ProviderServiceImpl; + +public class ProviderServiceImplTest { + private ProviderServiceImpl service; + private ProviderDAO dao; + + @BeforeEach + public void setup() { + service = new ProviderServiceImpl(); + dao = mock(ProviderDAO.class); + service.setProviderDAO(dao); + } + + @Test + public void getProviderByUuid_shouldReturnProvider_whenProviderExists() { + String uuid = "test-uuid"; + Provider provider = new Provider(); + when(dao.getProviderByUuid(uuid)).thenReturn(provider); + Provider result = service.getProviderByUuid(uuid); + assertNotNull(result); + assertEquals(provider, result); + } + + @Test + public void getProviderByUuid_shouldThrowException_whenProviderNotFound() { + String uuid = "invalid-uuid"; + when(dao.getProviderByUuid(uuid)).thenReturn(null); + assertThrows(APIException.class, () -> { + service.getProviderByUuid(uuid); + }); + } +} \ No newline at end of file