Skip to content

Commit d9892dd

Browse files
author
Fabien
committed
fix: set insensitive case on payfit website
1 parent a5c5caf commit d9892dd

File tree

4 files changed

+25
-15
lines changed

4 files changed

+25
-15
lines changed

dossierfacile-bo/src/main/java/fr/gouv/bo/dto/DisplayableBarCodeFileAnalysis.java

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,7 @@
2020
import java.util.stream.Collectors;
2121

2222
import static fr.dossierfacile.common.entity.BarCodeType.TWO_D_DOC;
23-
import static fr.dossierfacile.common.enums.FileAuthenticationStatus.API_ERROR;
24-
import static fr.dossierfacile.common.enums.FileAuthenticationStatus.INVALID;
25-
import static fr.dossierfacile.common.enums.FileAuthenticationStatus.VALID;
23+
import static fr.dossierfacile.common.enums.FileAuthenticationStatus.*;
2624

2725
@AllArgsConstructor
2826
public class DisplayableBarCodeFileAnalysis {
@@ -131,14 +129,15 @@ static String format(Object object) {
131129
@Override
132130
public String toString() {
133131
Map<String, String> map = new HashMap<>();
134-
map.put("Entreprise", companyName);
135-
map.put("Employé", employeeName);
136-
map.put("Salaire net", netSalary);
137-
if (period != null && period.getStart() != null && period.getEnd() != null) {
138-
map.put("Période", dateFormatter.format(period.getStart()) + " - " + dateFormatter.format(period.getEnd()));
139-
} else {
140-
map.put("Période", "Péride absente");
141-
}
132+
map.put("Entreprise", String.valueOf(companyName));
133+
map.put("Employé", String.valueOf(employeeName));
134+
map.put("Salaire net", String.valueOf(netSalary));
135+
136+
map.put("Période", Optional.ofNullable(period)
137+
.filter(p -> p.getStart() != null && p.getEnd() != null)
138+
.map(p -> dateFormatter.format(p.getStart()) + " - " + dateFormatter.format(p.getEnd()))
139+
.orElse(""));
140+
142141
return formatToList(map);
143142
}
144143
}

dossierfacile-process-file/src/main/java/fr/dossierfacile/process/file/service/qrcodeanalysis/payfit/PaySlipVerifiedContent.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
@Builder
1515
@Getter
1616
public class PaySlipVerifiedContent {
17-
private static final Pattern PERIOD_PATTERN = Pattern.compile("Période du (\\d{2}/\\d{2}/\\d{4}) au (\\d{2}/\\d{2}/\\d{4})");
17+
private static final Pattern PERIOD_PATTERN = Pattern.compile("P[ée]riode du (\\d{2}/\\d{2}/\\d{4}) au (\\d{2}/\\d{2}/\\d{4})", Pattern.CASE_INSENSITIVE);
1818
private static final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("dd/MM/yyyy");
1919

2020
private final String companyName;
@@ -48,7 +48,7 @@ private static DateRange extractPeriod(String header) {
4848

4949
private static String extractFrom(List<PayfitResponse.Info> list, String label) {
5050
return list.stream()
51-
.filter(info -> label.equals(info.getLabel()))
51+
.filter(info -> label.equalsIgnoreCase(info.getLabel()))
5252
.findFirst()
5353
.map(PayfitResponse.Info::getValue)
5454
.orElse("");

dossierfacile-process-file/src/test/java/fr/dossierfacile/process/file/service/qrcodeanalysis/payfit/PayfitDocumentIssuerTest.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package fr.dossierfacile.process.file.service.qrcodeanalysis.payfit;
22

3+
import fr.dossierfacile.common.repository.ApplicationLogRepository;
34
import fr.dossierfacile.process.file.IntegrationTest;
45
import fr.dossierfacile.process.file.TestFilesUtil;
56
import fr.dossierfacile.process.file.service.qrcodeanalysis.AuthenticationResult;
@@ -8,6 +9,7 @@
89
import org.junit.jupiter.api.Disabled;
910
import org.junit.jupiter.api.Test;
1011
import org.springframework.beans.factory.annotation.Autowired;
12+
import org.springframework.boot.test.mock.mockito.MockBean;
1113
import org.springframework.http.HttpMethod;
1214
import org.springframework.http.HttpStatus;
1315
import org.springframework.http.MediaType;
@@ -17,6 +19,7 @@
1719
import java.io.IOException;
1820
import java.net.URI;
1921
import java.net.URISyntaxException;
22+
import java.time.LocalDate;
2023
import java.util.Optional;
2124

2225
import static fr.dossierfacile.common.entity.BarCodeDocumentType.PAYFIT_PAYSLIP;
@@ -32,6 +35,8 @@
3235
@Disabled
3336
@IntegrationTest
3437
class PayfitDocumentIssuerTest {
38+
@MockBean
39+
ApplicationLogRepository applicationLogRepository;
3540

3641
@Autowired
3742
private PayfitDocumentIssuer payfit;
@@ -58,7 +63,8 @@ void should_authenticate_payfit_document() throws IOException, URISyntaxExceptio
5863
.hasValueSatisfying(result -> assertAll(
5964
() -> assertThat(result.getDocumentType()).isEqualTo(PAYFIT_PAYSLIP),
6065
() -> assertThat(result.getAuthenticationStatus()).isEqualTo(VALID),
61-
() -> assertThat(result.getApiResponse()).isInstanceOf(PaySlipVerifiedContent.class)
66+
() -> assertThat(result.getApiResponse()).isInstanceOf(PaySlipVerifiedContent.class),
67+
() -> assertThat(result.getApiResponse().getPeriod().getStart()).isEqualTo(LocalDate.of(2023,3,1))
6268
));
6369
}
6470

dossierfacile-process-file/src/test/resources/application.properties

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ server.port=${port:8080}
44
server.tomcat.uri-encoding=UTF-8
55
spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true
66
application.base.url=
7+
application.api.version=4
8+
application.name=process
79

810
#Liquibase Configuration
911
spring.liquibase.enabled=false
@@ -13,7 +15,10 @@ spring.liquibase.change-log=classpath:db/changelog/databaseChangeLog.xml
1315
rabbitmq.prefetch=3
1416
rabbitmq.document.analyze.delay=20000
1517
analysis.timeout.seconds=1
16-
18+
document.analysis.delay.ms=500
19+
document.analysis.timeout.ms=5000
20+
file.analysis.timeout.ms=5000
21+
file.minify.timeout.ms=5000
1722

1823
#Database Server Configuration
1924
spring.datasource.driver-class-name=org.h2.Driver

0 commit comments

Comments
 (0)