From 7a596f68bd305c303d8431715d79826fe07e1efc Mon Sep 17 00:00:00 2001
From: dahoud <41957584+DahoudG@users.noreply.github.com>
Date: Sat, 25 Apr 2026 15:22:26 +0000
Subject: [PATCH] feat(sprint-13.A api 2026-04-25): bump 1.0.9 +
OrganisationResponse expose referentielComptable + complianceOfficerId
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Pendant pour Sprint 10 — UpdateOrganisationRequest avait déjà ces 2 champs (Sprint 10),
mais OrganisationResponse ne les exposait pas en lecture. Le formulaire d'édition web
ne pouvait donc pas afficher leur valeur initiale lors du load.
Quarkus inchangé (3.27.3 — décision flotte LTS sur 3.27 jusqu'à fin août 2026).
Modifications
- OrganisationResponse : 2 nouveaux champs String referentielComptable + UUID complianceOfficerId
- Tests : 2 tests Jacoco 100% (null par défaut, builder, setter ; pour les 2 nouveaux champs)
- Bump version 1.0.8 → 1.0.9
ACTION USER : `mvn clean install` puis `mvn deploy` pour publier 1.0.9 sur Gitea.
---
pom.xml | 2 +-
.../response/OrganisationResponse.java | 7 ++++
.../response/OrganisationResponseTest.java | 34 +++++++++++++++++++
3 files changed, 42 insertions(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 1451815..3cbd4bf 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
dev.lions.unionflow
unionflow-server-api
- 1.0.8
+ 1.0.9
jar
UnionFlow Server API
diff --git a/src/main/java/dev/lions/unionflow/server/api/dto/organisation/response/OrganisationResponse.java b/src/main/java/dev/lions/unionflow/server/api/dto/organisation/response/OrganisationResponse.java
index 9d95704..e2594a0 100644
--- a/src/main/java/dev/lions/unionflow/server/api/dto/organisation/response/OrganisationResponse.java
+++ b/src/main/java/dev/lions/unionflow/server/api/dto/organisation/response/OrganisationResponse.java
@@ -91,4 +91,11 @@ public class OrganisationResponse extends BaseResponse {
// ── Paramètres ─────────────────────────────
private Boolean organisationPublique;
private Boolean accepteNouveauxMembres;
+
+ // ── Conformité (Sprint 1 — Instr. BCEAO + OHADA) ─────────────────────
+ /** Référentiel comptable applicable : SYSCOHADA, SYCEBNL, PCSFD_UMOA. */
+ private String referentielComptable;
+
+ /** UUID du Compliance Officer désigné (Instr. BCEAO 001-03-2025). */
+ private UUID complianceOfficerId;
}
diff --git a/src/test/java/dev/lions/unionflow/server/api/dto/organisation/response/OrganisationResponseTest.java b/src/test/java/dev/lions/unionflow/server/api/dto/organisation/response/OrganisationResponseTest.java
index ab6c069..e2803c4 100644
--- a/src/test/java/dev/lions/unionflow/server/api/dto/organisation/response/OrganisationResponseTest.java
+++ b/src/test/java/dev/lions/unionflow/server/api/dto/organisation/response/OrganisationResponseTest.java
@@ -52,4 +52,38 @@ class OrganisationResponseTest {
r.setOrganisationParenteNom("Parent Org");
assertThat(r.getOrganisationParenteNom()).isEqualTo("Parent Org");
}
+
+ // ── Sprint 13 — Conformité (referentielComptable + complianceOfficerId) ─────
+
+ @Test
+ @DisplayName("referentielComptable null par défaut, builder + setter fonctionnent")
+ void referentielComptable_nullDefaultAndBuilderSetter() {
+ OrganisationResponse empty = OrganisationResponse.builder().build();
+ assertThat(empty.getReferentielComptable()).isNull();
+
+ OrganisationResponse builderSet = OrganisationResponse.builder()
+ .referentielComptable("SYCEBNL").build();
+ assertThat(builderSet.getReferentielComptable()).isEqualTo("SYCEBNL");
+
+ OrganisationResponse setterSet = OrganisationResponse.builder().build();
+ setterSet.setReferentielComptable("PCSFD_UMOA");
+ assertThat(setterSet.getReferentielComptable()).isEqualTo("PCSFD_UMOA");
+ }
+
+ @Test
+ @DisplayName("complianceOfficerId null par défaut, builder + setter fonctionnent")
+ void complianceOfficerId_nullDefaultAndBuilderSetter() {
+ OrganisationResponse empty = OrganisationResponse.builder().build();
+ assertThat(empty.getComplianceOfficerId()).isNull();
+
+ java.util.UUID id1 = java.util.UUID.randomUUID();
+ OrganisationResponse builderSet = OrganisationResponse.builder()
+ .complianceOfficerId(id1).build();
+ assertThat(builderSet.getComplianceOfficerId()).isEqualTo(id1);
+
+ java.util.UUID id2 = java.util.UUID.randomUUID();
+ OrganisationResponse setterSet = OrganisationResponse.builder().build();
+ setterSet.setComplianceOfficerId(id2);
+ assertThat(setterSet.getComplianceOfficerId()).isEqualTo(id2);
+ }
}