use of com.mirakl.client.mmp.operator.request.shop.MiraklUpdateShopsRequest in project mirakl-hyperwallet-connector by paypal.
the class MiraklBusinessStakeholderDocumentsExtractServiceImplTest method setBusinessStakeholderFlagToPushBusinessStakeholderDocumentsToFalse_shouldCallMiraklWithTheClientUsersIdPassedAsParam.
@Test
void setBusinessStakeholderFlagToPushBusinessStakeholderDocumentsToFalse_shouldCallMiraklWithTheClientUsersIdPassedAsParam() {
// @formatter:off
final KYCDocumentBusinessStakeHolderInfoModel kycUserOneBstOne = KYCDocumentBusinessStakeHolderInfoModel.builder().clientUserId("2000").businessStakeholderMiraklNumber(1).requiresKYC(Boolean.TRUE).sentToHyperwallet(Boolean.TRUE).build();
// @formatter:on
// @formatter:off
final KYCDocumentBusinessStakeHolderInfoModel kycUserTwoBstOne = KYCDocumentBusinessStakeHolderInfoModel.builder().clientUserId("2001").businessStakeholderMiraklNumber(1).requiresKYC(Boolean.TRUE).sentToHyperwallet(Boolean.TRUE).build();
// @formatter:on
// @formatter:off
final KYCDocumentBusinessStakeHolderInfoModel kycUserThreeBstOne = KYCDocumentBusinessStakeHolderInfoModel.builder().clientUserId("2002").businessStakeholderMiraklNumber(1).requiresKYC(Boolean.TRUE).sentToHyperwallet(Boolean.TRUE).requiresLetterOfAuthorization(Boolean.TRUE).build();
// @formatter:on
final List<KYCDocumentBusinessStakeHolderInfoModel> successfullyPushedDocumentsList = List.of(kycUserOneBstOne, kycUserThreeBstOne, kycUserTwoBstOne);
when(miraklMarketplacePlatformOperatorApiClientMock.updateShops(any(MiraklUpdateShopsRequest.class))).thenReturn(miraklUpdateShopsMock);
final Optional<MiraklUpdatedShops> result = testObj.setBusinessStakeholderFlagKYCToPushBusinessStakeholderDocumentsToFalse(successfullyPushedDocumentsList);
verify(miraklMarketplacePlatformOperatorApiClientMock).updateShops(miraklUpdateShopArgumentCaptor.capture());
final MiraklUpdateShopsRequest miraklUpdateShopRequest = miraklUpdateShopArgumentCaptor.getValue();
final List<Long> updatedSellerIdList = miraklUpdateShopRequest.getShops().stream().map(MiraklUpdateShop::getShopId).collect(Collectors.toList());
assertThat(updatedSellerIdList).containsExactlyInAnyOrder(2000L, 2001L, 2002L);
assertThat(getUpdatedFlagValuesForShop(miraklUpdateShopRequest, 2000L)).containsExactlyEntriesOf(Map.of(BUSINESS_STAKEHOLDER_PROOF_IDENTITY_CODE, "false"));
assertThat(getUpdatedFlagValuesForShop(miraklUpdateShopRequest, 2001L)).containsExactlyEntriesOf(Map.of(BUSINESS_STAKEHOLDER_PROOF_IDENTITY_CODE, "false"));
assertThat(getUpdatedFlagValuesForShop(miraklUpdateShopRequest, 2002L)).containsAllEntriesOf(Map.of(BUSINESS_STAKEHOLDER_PROOF_IDENTITY_CODE, "false", BUSINESS_STAKEHOLDER_PROOF_AUTH_CODE, "false"));
assertThat(result).hasValue(miraklUpdateShopsMock);
}
use of com.mirakl.client.mmp.operator.request.shop.MiraklUpdateShopsRequest in project mirakl-hyperwallet-connector by paypal.
the class AbstractKYCUserStatusExecutorNotificationStrategyTest method updateShop_shouldCallMiraklApiWithValuesProvidedInNotificationBody.
@Test
void updateShop_shouldCallMiraklApiWithValuesProvidedInNotificationBody() {
when(kycUserStatusNotificationBodyModelMock.getClientUserId()).thenReturn(SHOP_ID);
when(miraklMarketplacePlatformOperatorApiClientMock.updateShops(any(MiraklUpdateShopsRequest.class))).thenReturn(miraklUpdatedShopResponseMock);
when(testObj.expectedKycMiraklStatus(kycUserStatusNotificationBodyModelMock)).thenReturn(MiraklShopKycStatus.APPROVED);
when(kycRejectionReasonServiceMock.getRejectionReasonDescriptions(Mockito.anyList())).thenReturn(StringUtils.EMPTY);
testObj.updateShop(kycUserStatusNotificationBodyModelMock);
verify(miraklMarketplacePlatformOperatorApiClientMock).updateShops(miraklUpdateShopMockArgumentCaptor.capture());
final MiraklUpdateShopsRequest request = miraklUpdateShopMockArgumentCaptor.getValue();
assertThat(request.getShops()).hasSize(1);
assertThat(request.getShops().get(0).getShopId()).isEqualTo(Long.valueOf(SHOP_ID));
assertThat(request.getShops().get(0).getKyc().getStatus()).isEqualTo(MiraklShopKycStatus.APPROVED);
assertThat(request.getShops().get(0).getAdditionalFieldValues()).isNull();
}
use of com.mirakl.client.mmp.operator.request.shop.MiraklUpdateShopsRequest in project mirakl-hyperwallet-connector by paypal.
the class AbstractKYCUserStatusExecutorNotificationStrategyTest method updateShop_shouldCallMiraklApiWithValuesProvidedModifyingKYCVerificationStatus.
@Test
void updateShop_shouldCallMiraklApiWithValuesProvidedModifyingKYCVerificationStatus() {
when(testObj.isKycAutomated()).thenReturn(true);
when(kycUserStatusNotificationBodyModelMock.getClientUserId()).thenReturn(SHOP_ID);
when(kycUserStatusNotificationBodyModelMock.getVerificationStatus()).thenReturn(HyperwalletUser.VerificationStatus.REQUIRED);
when(miraklMarketplacePlatformOperatorApiClientMock.updateShops(any(MiraklUpdateShopsRequest.class))).thenReturn(miraklUpdatedShopResponseMock);
when(testObj.expectedKycMiraklStatus(kycUserStatusNotificationBodyModelMock)).thenReturn(MiraklShopKycStatus.REFUSED);
testObj.updateShop(kycUserStatusNotificationBodyModelMock);
verify(miraklMarketplacePlatformOperatorApiClientMock).updateShops(miraklUpdateShopMockArgumentCaptor.capture());
final MiraklUpdateShopsRequest request = miraklUpdateShopMockArgumentCaptor.getValue();
assertThat(request.getShops()).hasSize(1);
assertThat(request.getShops().get(0).getShopId()).isEqualTo(Long.valueOf(SHOP_ID));
assertThat(request.getShops().get(0).getKyc().getStatus()).isEqualTo(MiraklShopKycStatus.REFUSED);
final MiraklRequestAdditionalFieldValue additionalFieldValue = request.getShops().get(0).getAdditionalFieldValues().get(0);
final MiraklSimpleRequestAdditionalFieldValue castedAdditionalFieldValue = (MiraklSimpleRequestAdditionalFieldValue) additionalFieldValue;
assertThat(castedAdditionalFieldValue.getCode()).isEqualTo(HYPERWALLET_KYC_REQUIRED_PROOF_IDENTITY_BUSINESS_FIELD);
assertThat(castedAdditionalFieldValue.getValue()).isEqualTo("true");
}
use of com.mirakl.client.mmp.operator.request.shop.MiraklUpdateShopsRequest in project mirakl-hyperwallet-connector by paypal.
the class BusinessKYCUserLOAStatusNotificationStrategyTest method updateMiraklLOAStatus_shouldChangeMiraklLOAFlagToTrue_whenLOAIsFailedOrRequired.
@ParameterizedTest
@MethodSource("LOAStatuses")
void updateMiraklLOAStatus_shouldChangeMiraklLOAFlagToTrue_whenLOAIsFailedOrRequired(final HyperwalletUser.LetterOfAuthorizationStatus letterOfAuthorizationStatus, final Boolean isLOARequired) {
when(miraklMarketplacePlatformOperatorApiClientMock.updateShops(miraklUpdateShopsRequestArgumentCaptor.capture())).thenReturn(miraklUpdatedShopsMock);
testObj.updateMiraklLOAStatus(MIRAKL_SHOP_ID, letterOfAuthorizationStatus);
final MiraklUpdateShopsRequest miraklUpdateShopsRequestArgumentCaptorValue = miraklUpdateShopsRequestArgumentCaptor.getValue();
final MiraklRequestAdditionalFieldValue.MiraklSimpleRequestAdditionalFieldValue result = (MiraklRequestAdditionalFieldValue.MiraklSimpleRequestAdditionalFieldValue) miraklUpdateShopsRequestArgumentCaptorValue.getShops().get(0).getAdditionalFieldValues().get(0);
assertThat(result.getCode()).isEqualTo(KYCConstants.HYPERWALLET_KYC_REQUIRED_PROOF_AUTHORIZATION_BUSINESS_FIELD);
assertThat(result.getValue()).isEqualTo(isLOARequired.toString());
}
use of com.mirakl.client.mmp.operator.request.shop.MiraklUpdateShopsRequest in project mirakl-hyperwallet-connector by paypal.
the class AbstractKYCUserStatusExecutorNotificationStrategyTest method updateShop_shouldCallMiraklApiModifyingKYCLetterOfAuthorization.
@Test
void updateShop_shouldCallMiraklApiModifyingKYCLetterOfAuthorization() {
when(testObj.isKycAutomated()).thenReturn(true);
when(kycUserStatusNotificationBodyModelMock.getClientUserId()).thenReturn(SHOP_ID);
when(kycUserStatusNotificationBodyModelMock.getReasonsType()).thenReturn(List.of(KYCRejectionReasonTypeEnum.LETTER_OF_AUTHORIZATION_REQUIRED));
when(kycUserStatusNotificationBodyModelMock.getLetterOfAuthorizationStatus()).thenReturn(HyperwalletUser.LetterOfAuthorizationStatus.REQUIRED);
when(miraklMarketplacePlatformOperatorApiClientMock.updateShops(any(MiraklUpdateShopsRequest.class))).thenReturn(miraklUpdatedShopResponseMock);
when(testObj.expectedKycMiraklStatus(kycUserStatusNotificationBodyModelMock)).thenReturn(MiraklShopKycStatus.REFUSED);
when(kycRejectionReasonServiceMock.getRejectionReasonDescriptions(List.of(KYCRejectionReasonTypeEnum.LETTER_OF_AUTHORIZATION_REQUIRED))).thenReturn(KYCRejectionReasonTypeEnum.getReasonHeader() + KYCRejectionReasonTypeEnum.LETTER_OF_AUTHORIZATION_REQUIRED.getReason() + KYCRejectionReasonTypeEnum.getReasonFooter());
testObj.updateShop(kycUserStatusNotificationBodyModelMock);
verify(kycRejectionReasonServiceMock).getRejectionReasonDescriptions(List.of(KYCRejectionReasonTypeEnum.LETTER_OF_AUTHORIZATION_REQUIRED));
verify(miraklMarketplacePlatformOperatorApiClientMock).updateShops(miraklUpdateShopMockArgumentCaptor.capture());
final MiraklUpdateShopsRequest request = miraklUpdateShopMockArgumentCaptor.getValue();
assertThat(request.getShops()).hasSize(1);
assertThat(request.getShops().get(0).getShopId()).isEqualTo(Long.valueOf(SHOP_ID));
final MiraklRequestAdditionalFieldValue additionalFieldValue = request.getShops().get(0).getAdditionalFieldValues().get(0);
final MiraklSimpleRequestAdditionalFieldValue castedAdditionalFieldValue = (MiraklSimpleRequestAdditionalFieldValue) additionalFieldValue;
assertThat(castedAdditionalFieldValue.getCode()).isEqualTo(HYPERWALLET_KYC_REQUIRED_PROOF_AUTHORIZATION_BUSINESS_FIELD);
assertThat(castedAdditionalFieldValue.getValue()).isEqualTo("true");
}
Aggregations