This is one of my converter class,
package com.sc.we.idv.model.converter;

import java.nio.charset.Charset;
import java.sql.Timestamp;

import org.springframework.stereotype.Component;

import com.sc.we.idv.common.model.BiometricVerificationResponse;
import com.sc.we.idv.entity.EkycGoldenSourcePayload;
import com.sc.we.idv.entity.IDVEkycGoldenSource;

import static com.sc.we.idv.common.constants.IDVConstants.*;

@Component
public class BiometricResponseToEntityConverter {
	
	public IDVEkycGoldenSource bioMetricToGoldenSourceExtracted(BiometricVerificationResponse res,
			EkycGoldenSourcePayload ekycGoldenSourcePayload, String idNumber) {
		IDVEkycGoldenSource iDVEkycGoldenSource = new IDVEkycGoldenSource();

		iDVEkycGoldenSource.setIdvEkycGoldenSourcePayloadId(ekycGoldenSourcePayload.getId());
		iDVEkycGoldenSource.setCreatedDate(new Timestamp(System.currentTimeMillis()));
		iDVEkycGoldenSource.setAckReferenceNo(res.getServiceInfo().getAckReference());
		iDVEkycGoldenSource.setTransactionReferenceNo(res.getServiceInfo().getTransactionReference());

		iDVEkycGoldenSource.setChannelReference(res.getServiceInfo().getChannelReference());
		if (null != res.getResponseInfo().getProcessStatus()
				&& res.getResponseInfo().getProcessStatus().equalsIgnoreCase("100")) {
			iDVEkycGoldenSource.setResultCode(SCCUESS_CODE);
			iDVEkycGoldenSource.setResultMessage(res.getResponseInfo().getProcessDescription());
		}
		iDVEkycGoldenSource.setDocumentNumber(idNumber);
		return iDVEkycGoldenSource;
	}

	public EkycGoldenSourcePayload bioMetricResponseToGoldenSourcePayload(BiometricVerificationResponse response) {
		EkycGoldenSourcePayload idvEkycGoldenSourcePayload = new EkycGoldenSourcePayload();
		idvEkycGoldenSourcePayload.setTransactionReference(response.getServiceInfo().getTransactionReference());
		idvEkycGoldenSourcePayload.setAckReferenceNo(response.getServiceInfo().getAckReference());
		idvEkycGoldenSourcePayload.setChannelReference(response.getServiceInfo().getChannelReference());
		idvEkycGoldenSourcePayload.setFingerprintMatchGoldenSourceData(getResponseBytes(response));
		idvEkycGoldenSourcePayload.setCreatedDate(getCurrentTime());
		return idvEkycGoldenSourcePayload;
	}
	
	private byte[] getResponseBytes(BiometricVerificationResponse response) {
		return (null != response) ? response.toString().getBytes(Charset.forName("UTF-8")) : null;
		
	}

	private Timestamp getCurrentTime() {
		return new Timestamp(System.currentTimeMillis());
	}

}


This is its test class,
package com.sc.we.idv.model.converter;

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;

import org.junit.jupiter.api.Test;
import org.mockito.InjectMocks;

import com.sc.we.idv.TestCVUtils;
import com.sc.we.idv.TestCommonUtils;
import com.sc.we.idv.common.model.BiometricVerificationRequest;
import com.sc.we.idv.common.model.BiometricVerificationResponse;
import com.sc.we.idv.entity.EkycGoldenSourcePayload;
import com.sc.we.idv.entity.IDVEkycGoldenSource;
import com.sc.we.idv.exceptions.UnexpectedErrorExcpetion;

public class BiometricResponseToEntityConverterTest {
	
	@InjectMocks
	private BiometricResponseToEntityConverter converter = new BiometricResponseToEntityConverter();

	@Test
	public void testBioMetricIDVBOToGoldenSourceExtractedConvertor() {
		// Given
		BiometricVerificationResponse res = TestCommonUtils.buildBiometricVerificationResponse();
		res.getServiceInfo().setAckReference("IDV-PK-01-20241118213041-4b1168c1-6fa7-4662-8");
		res.getServiceInfo().setTransactionReference("PKNREF1002312323129");
		res.getServiceInfo().setChannelReference("PK20240423001");
		Long id = (long) 1;
		EkycGoldenSourcePayload ekyc = new EkycGoldenSourcePayload();
		ekyc.setId(id);
		
		// When
		IDVEkycGoldenSource goldenSourceExtracted = converter.bioMetricToGoldenSourceExtracted(res, ekyc, "12312345");

		// Then
		assertNotNull(goldenSourceExtracted);
		assertEquals(goldenSourceExtracted.getDocumentNumber(), "12312345");
	}
	
	
	@Test
	public void testBioMetricResponseToGoldenSourcePayloadConverter() throws UnexpectedErrorExcpetion {
		// Given
		BiometricVerificationResponse response = TestCommonUtils.buildBiometricVerificationResponse();
		response.setResponseInfo(TestCommonUtils.buildResponseInfoBioMetric());

		// When
		EkycGoldenSourcePayload goldenSourcePayload = converter.bioMetricResponseToGoldenSourcePayload(response);

		// Then
		assertNotNull(goldenSourcePayload);
		assertEquals(goldenSourcePayload.getTransactionReference(), response.getServiceInfo().getTransactionReference());
		
	}
}


Similarly this is a new converter class,
package com.sc.we.idv.faceCapture.model.convertor;

import com.sc.we.idv.faceCapture.model.InitializeResponse;
import com.sc.we.idv.faceCapture.model.InternalInfo;
import com.sc.we.idv.faceCapture.model.ServiceInfo;
import com.sc.we.idv.model.IDVTransactionBO;
import org.springframework.stereotype.Component;

@Component
public class IDVTransactionBOToInitializeResponse {
    public InitializeResponse convert(IDVTransactionBO transactionBO) {
        InitializeResponse response = new InitializeResponse();
        response.serviceInfo(buildServiceInfo(transactionBO));
        response.setInternalInfo(buildInternalInfo(transactionBO));
        return response;
    }

    private InternalInfo buildInternalInfo(IDVTransactionBO transactionBO) {
        InternalInfo internalInfo = new InternalInfo();
        internalInfo.setServiceType(transactionBO.getServiceType());
        internalInfo.setSourceCountry(transactionBO.getSourceCountry());
        internalInfo.setSystemIdentifier(transactionBO.getSystemIdentifier());
        return internalInfo;
    }

    private ServiceInfo buildServiceInfo(IDVTransactionBO transactionBO) {
        ServiceInfo serviceInfo = new ServiceInfo();
        serviceInfo.setTransactionReference(transactionBO.getTransactionReference());
        serviceInfo.setChannelReference(transactionBO.getChannelReference());
        serviceInfo.setAckReference(transactionBO.getAckReferenceNo());
        serviceInfo.setVendorTransactionId(transactionBO.getVendorTransactionId());
        serviceInfo.setSegmentCode(transactionBO.getSegmentCode());
        serviceInfo.setProductIdentifier(transactionBO.getProductIdentifier());
        return serviceInfo;
    }
}


Finish this test class for this class,
package com.sc.we.idv.faceCapture.model.converter;

import com.sc.we.idv.TestCommonUtils;
import com.sc.we.idv.common.model.BiometricVerificationResponse;
import com.sc.we.idv.entity.EkycGoldenSourcePayload;
import com.sc.we.idv.entity.IDVEkycGoldenSource;
import com.sc.we.idv.faceCapture.model.convertor.IDVTransactionBOToInitializeResponse;
import org.junit.jupiter.api.Test;
import org.mockito.InjectMocks;

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;

public class IDVTransactionBOToInitializeResponseTest {
    
    @InjectMocks
    IDVTransactionBOToInitializeResponse conveter = new IDVTransactionBOToInitializeResponse();

}