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); + } }