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