Skip to content

Commit

Permalink
[BUGFIX] Ajouter automatiquement un 0 devant le département s'il ne c…
Browse files Browse the repository at this point in the history
…ontient que 2 chiffres (PIX-13151)

 #11382
  • Loading branch information
pix-service-auto-merge authored Feb 11, 2025
2 parents b1e391a + fc56877 commit 8495205
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,12 @@ import { ORGANIZATION_FEATURE } from '../../../shared/domain/constants.js';
import { DataProtectionOfficer } from './DataProtectionOfficer.js';

const CREDIT_DEFAULT_VALUE = 0;
const PAD_TARGET_LENGTH = 3;
const PAD_STRING = '0';

class OrganizationForAdmin {
#provinceCode;

constructor({
id,
name,
Expand Down Expand Up @@ -89,6 +93,14 @@ class OrganizationForAdmin {
this.code = code;
}

get provinceCode() {
return this.#provinceCode;
}

set provinceCode(provinceCode) {
this.#provinceCode = provinceCode ? provinceCode.padStart(PAD_TARGET_LENGTH, PAD_STRING) : '';
}

get archivistFullName() {
return this.archivistFirstName && this.archivistLastName
? `${this.archivistFirstName} ${this.archivistLastName}`
Expand Down Expand Up @@ -131,10 +143,6 @@ class OrganizationForAdmin {
this.parentOrganizationId = parentOrganizationId;
}

updateProvinceCode(provinceCode) {
this.provinceCode = provinceCode;
}

updateIdentityProviderForCampaigns(identityProviderForCampaigns) {
this.identityProviderForCampaigns = identityProviderForCampaigns;
}
Expand All @@ -155,7 +163,7 @@ class OrganizationForAdmin {
this.email = organization.email;
this.credit = organization.credit;
this.externalId = organization.externalId;
this.updateProvinceCode(organization.provinceCode);
this.provinceCode = organization.provinceCode;
this.documentationUrl = organization.documentationUrl;
this.updateIsManagingStudents(organization.isManagingStudents, organization.features);
this.showSkills = organization.showSkills;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ describe('Acceptance | Organizational Entities | Application | Route | Admin | O
'external-id': organization.externalId,
'parent-organization-id': organization.parentOrganizationId,
'parent-organization-name': null,
'province-code': organization.provinceCode,
'province-code': '045',
'is-managing-students': organization.isManagingStudents,
credit: organization.credit,
email: organization.email,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -658,7 +658,7 @@ describe('Unit | Organizational Entities | Domain | Model | OrganizationForAdmin
});
});

context('#updateProvinceCode', function () {
context('#provinceCode', function () {
it('updates ProvinceCode', function () {
// given
const initialProvinceCode = '44200';
Expand All @@ -667,10 +667,27 @@ describe('Unit | Organizational Entities | Domain | Model | OrganizationForAdmin
provinceCode: initialProvinceCode,
});
// when
givenOrganization.updateProvinceCode(newProvinceCode);
givenOrganization.provinceCode = newProvinceCode;
// then
expect(givenOrganization.provinceCode).to.equal(newProvinceCode);
});

context('when there is no 3 numbers', function () {
it('normalizes provinceCode by padding', function () {
// given
const initialProvinceCode = '6';
const newProvinceCode = '44';
const givenOrganization = new OrganizationForAdmin({
provinceCode: initialProvinceCode,
});

// when
givenOrganization.provinceCode = newProvinceCode;

// then
expect(givenOrganization.provinceCode).to.equal('044');
});
});
});

context('#updateIdentityProviderForCampaigns', function () {
Expand Down Expand Up @@ -746,8 +763,8 @@ describe('Unit | Organizational Entities | Domain | Model | OrganizationForAdmin
);

// then
const expectedOrganization = domainBuilder.buildOrganizationForAdmin({ provinceCode });
expect(organizationToUpdate.provinceCode).to.equal(provinceCode);
const expectedOrganization = domainBuilder.buildOrganizationForAdmin({ provinceCode: `0${provinceCode}` });
expect(organizationToUpdate.provinceCode).to.equal(`0${provinceCode}`);
expect(organizationToUpdate).to.deep.equal(expectedOrganization);
});

Expand Down

0 comments on commit 8495205

Please sign in to comment.