Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[chore] Changed psp name mapping #56

Merged
merged 3 commits into from
Oct 23, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -294,27 +294,13 @@ private String getPspFee(BizEvent event) {
return null;
}

private String getPspName(BizEvent event) throws TemplateDataMappingException {
if ( event.getTransactionDetails() != null &&
event.getTransactionDetails().getTransaction() != null &&
event.getTransactionDetails().getTransaction().getPsp() != null &&
event.getTransactionDetails().getTransaction().getPsp().getBusinessName() != null
) {
return event.getTransactionDetails().getTransaction().getPsp().getBusinessName();
}
if (event.getPsp().getPsp() != null) {
return event.getPsp().getPsp();
}
throw new TemplateDataMappingException(formatErrorMessage(TemplateDataField.TRANSACTION_PSP_NAME), ReasonErrorCode.ERROR_TEMPLATE_PDF.getCode());
}

private PSP getPsp(BizEvent event) throws TemplateDataMappingException {
if (event.getPsp() != null && event.getPsp().getIdPsp() != null) {
LinkedHashMap<String, String> info = (LinkedHashMap<String, String>) pspMap
.getOrDefault(event.getPsp().getIdPsp(), new LinkedHashMap<>());
String pspFee = getPspFee(event);
return PSP.builder()
.name(getPspName(event))
.name(getOrThrow(info, "name", TemplateDataField.TRANSACTION_PSP_NAME))
.fee(PSPFee.builder()
.amount(pspFee)
.build())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,9 @@
import static uk.org.webcompere.systemstubs.SystemStubs.withEnvironmentVariables;

class BuildTemplateServiceImplTest {

public static final String PSP_KEY_CITY = "city";
public static final String COMPANY_NAME = "PA paolo";
public static final String OFFICE_NAME = "office PA";
public static final String ID_PSP = "ID_PSP";
public static final String PSP_NAME = "PSP Paolo";
public static final String DEBTOR_FULL_NAME = "John Doe";
public static final String DEBTOR_VALID_CF = "CF_DEBTOR";
public static final String PAYER_FULL_NAME = "John Doe PAYER";
Expand All @@ -43,11 +40,12 @@ class BuildTemplateServiceImplTest {
public static final String AUTH_CODE = "authCode";
public static final String DATE_TIME_TIMESTAMP_MILLISECONDS = "2023-04-12T16:32:27.022486";
public static final String DATE_TIME_TIMESTAMP_ZONED = "2023-04-12T16:32:27Z";
public static final String BUSINESS_NAME = "Nexi";
public static final boolean PARTIAL_TEMPLATE = true;
public static final boolean COMPLETE_TEMPLATE = false;
public static final String PSP_NAME = "name";
public static final String PSP_LOGO = "logo";
public static final String PSP_COMPANY = "companyName";
public static final String PSP_CITY = "city";
public static final String PSP_POSTAL_CODE = "postalCode";
public static final String PSP_ADDRESS = "address";
public static final String PSP_BUILDING_NUMBER = "buildingNumber";
Expand Down Expand Up @@ -111,7 +109,7 @@ void mapTemplateAllFieldsSuccessCompleteTemplate() throws Exception {
.authorizationCode(AUTH_CODE)
.creationDate(DATE_TIME_TIMESTAMP_ZONED)
.psp(TransactionPsp.builder()
.businessName(BUSINESS_NAME)
.businessName(PSP_NAME)
.build())
.build())
.build())
Expand All @@ -127,8 +125,8 @@ void mapTemplateAllFieldsSuccessCompleteTemplate() throws Exception {
assertEquals(FORMATTED_GRAND_TOTAL, transaction.getAmount());
assertEquals(PSP_LOGO, transaction.getPsp().getLogo());
assertEquals(FORMATTED_FEE, transaction.getPsp().getFee().getAmount());
assertEquals(BUSINESS_NAME, transaction.getPsp().getName());
assertEquals(PSP_KEY_CITY, transaction.getPsp().getCity());
assertEquals(PSP_NAME, transaction.getPsp().getName());
assertEquals(PSP_CITY, transaction.getPsp().getCity());
assertEquals(PSP_COMPANY, transaction.getPsp().getCompanyName());
assertEquals(PSP_POSTAL_CODE, transaction.getPsp().getPostalCode());
assertEquals(PSP_ADDRESS, transaction.getPsp().getAddress());
Expand Down Expand Up @@ -197,7 +195,7 @@ void mapTemplateAllFieldsSuccessPartialTemplate() throws Exception {
.authorizationCode(AUTH_CODE)
.creationDate(DATE_TIME_TIMESTAMP_ZONED)
.psp(TransactionPsp.builder()
.businessName(BUSINESS_NAME)
.businessName(PSP_NAME)
.build())
.build())
.build())
Expand All @@ -213,8 +211,8 @@ void mapTemplateAllFieldsSuccessPartialTemplate() throws Exception {
assertEquals(FORMATTED_GRAND_TOTAL, transaction.getAmount());
assertEquals(PSP_LOGO, transaction.getPsp().getLogo());
assertEquals(FORMATTED_FEE, transaction.getPsp().getFee().getAmount());
assertEquals(BUSINESS_NAME, transaction.getPsp().getName());
assertEquals(PSP_KEY_CITY, transaction.getPsp().getCity());
assertEquals(PSP_NAME, transaction.getPsp().getName());
assertEquals(PSP_CITY, transaction.getPsp().getCity());
assertEquals(PSP_COMPANY, transaction.getPsp().getCompanyName());
assertEquals(PSP_POSTAL_CODE, transaction.getPsp().getPostalCode());
assertEquals(PSP_ADDRESS, transaction.getPsp().getAddress());
Expand Down Expand Up @@ -284,7 +282,7 @@ void mapTemplateWithoutTransactionDetailsSuccess() throws Exception {
assertEquals(PSP_LOGO, transaction.getPsp().getLogo());
assertNull(transaction.getPsp().getFee().getAmount());
assertEquals(PSP_NAME, transaction.getPsp().getName());
assertEquals(PSP_KEY_CITY, transaction.getPsp().getCity());
assertEquals(PSP_CITY, transaction.getPsp().getCity());
assertEquals(PSP_COMPANY, transaction.getPsp().getCompanyName());
assertEquals(PSP_POSTAL_CODE, transaction.getPsp().getPostalCode());
assertEquals(PSP_ADDRESS, transaction.getPsp().getAddress());
Expand Down Expand Up @@ -354,7 +352,7 @@ void mapTemplateWithoutTransactionDetailsAndPaymentTokenSuccess() throws Excepti
assertEquals(PSP_LOGO, transaction.getPsp().getLogo());
assertNull(transaction.getPsp().getFee().getAmount());
assertEquals(PSP_NAME, transaction.getPsp().getName());
assertEquals(PSP_KEY_CITY, transaction.getPsp().getCity());
assertEquals(PSP_CITY, transaction.getPsp().getCity());
assertEquals(PSP_COMPANY, transaction.getPsp().getCompanyName());
assertEquals(PSP_POSTAL_CODE, transaction.getPsp().getPostalCode());
assertEquals(PSP_ADDRESS, transaction.getPsp().getAddress());
Expand Down Expand Up @@ -476,7 +474,7 @@ void mapTemplateNoPspNameError() {
.amount(AMOUNT_WITHOUT_CENTS)
.build())
.psp(Psp.builder()
.idPsp(ID_PSP)
.idPsp("noName")
.build())
.build();
TemplateDataMappingException e = assertThrows(TemplateDataMappingException.class, () -> buildTemplateService.buildTemplate(event, COMPLETE_TEMPLATE));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -634,35 +634,6 @@ void verifyDifferentDebtorPayerFailPayerGenerationInError() {
assertEquals(ERROR_MESSAGE, receipt.getReasonErrPayer().getMessage());
}

@Test
void verifyDifferentDebtorPayerFailGenerationInErrorForBoth() {
Receipt receipt = buildReceiptForVerify(false, false);

String errorMessagePayer = "error message payer";
PdfGeneration pdfGeneration = PdfGeneration.builder()
.debtorMetadata(PdfMetadata.builder()
.statusCode(HttpStatus.SC_INTERNAL_SERVER_ERROR)
.errorMessage(ERROR_MESSAGE)
.build())
.payerMetadata(PdfMetadata.builder()
.statusCode(HttpStatus.SC_BAD_REQUEST)
.errorMessage(errorMessagePayer)
.build())
.generateOnlyDebtor(false)
.build();

boolean result = sut.verifyAndUpdateReceipt(receipt, pdfGeneration);

assertFalse(result);
assertNull(receipt.getMdAttach());
assertNull(receipt.getMdAttachPayer());
assertNull(receipt.getReasonErr());
assertNotNull(receipt.getReasonErrPayer());
assertNotNull(receipt.getReasonErrPayer().getMessage());
assertEquals(HttpStatus.SC_INTERNAL_SERVER_ERROR, receipt.getReasonErrPayer().getCode());
assertEquals(ERROR_MESSAGE, receipt.getReasonErrPayer().getMessage());
}

@Test
void verifyDifferentDebtorPayerFailGenerationInErrorForBoth() {
Receipt receipt = buildReceiptForVerify(false, false);
Expand Down
10 changes: 10 additions & 0 deletions src/test/resources/psp_config_file.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,16 @@
"city": "city",
"province": "province"
},
"noName": {
"logo": "logo",
"fiscalCode": "fiscalCode",
"address": "address",
"buildingNumber": "buildingNumber",
"companyName": "companyName",
"postalCode": "postalCode",
"city": "city",
"province": "province"
},
"noCompanyName": {
"logo": "logo",
"fiscalCode": "fiscalCode",
Expand Down
Loading