Skip to content

Commit

Permalink
feat(api): create get attestation zip for divisions usecase
Browse files Browse the repository at this point in the history
  • Loading branch information
Libouk committed Oct 10, 2024
1 parent 2989ac5 commit 054dc32
Show file tree
Hide file tree
Showing 5 changed files with 56 additions and 7 deletions.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
export const getAttestationZipForDivisions = async ({
attestationKey,
organizationId,
divisions,
organizationLearnerRepository,
}) => {
const organizationLearners = await organizationLearnerRepository.findOrganizationLearnersByDivisions({
organizationId,
divisions,
});

return organizationLearnerRepository.getAttestationsForOrganizationLearnersAndKey({
attestationKey,
organizationLearners,
});
};
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ import { importNamedExportsFromDirectory } from '../../../../shared/infrastructu
import * as divisionRepository from '../../../campaign/infrastructure/repositories/division-repository.js';
import * as groupRepository from '../../../campaign/infrastructure/repositories/group-repository.js';
import * as organizationLearnerImportFormatRepository from '../../../learner-management/infrastructure/repositories/organization-learner-import-format-repository.js';
import { repositories } from '../../infrastructure/repositories/index.js';
import * as organizationLearnerActivityRepository from '../../infrastructure/repositories/organization-learner-activity-repository.js';
import * as organizationLearnerRepository from '../../infrastructure/repositories/organization-learner-repository.js';
import * as organizationParticipantRepository from '../../infrastructure/repositories/organization-participant-repository.js';
import * as registrationOrganizationLearnerRepository from '../../infrastructure/repositories/registration-organization-learner-repository.js';
import * as scoOrganizationParticipantRepository from '../../infrastructure/repositories/sco-organization-participant-repository.js';
Expand All @@ -33,7 +33,7 @@ const dependencies = {
organizationRepository,
organizationParticipantRepository,
organizationLearnerActivityRepository,
organizationLearnerRepository,
organizationLearnerRepository: repositories.organizationLearnerRepository,
organizationLearnerImportFormatRepository,
organizationFeaturesAPI,
campaignRepository,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { expect } from '../../../../../test-helper.js';

describe('Integration | Prescription | Learner Management | Domain | UseCase | get-attestation-zip-for-divisions', function () {
it('returns a zip attestation', async function () {
// given
// when
const result = result;

// then
expect(Buffer.isBuffer(result)).to.be.true;
});
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import { Buffer } from 'node:buffer';

import { usecases } from '../../../../../../src/prescription/organization-learner/domain/usecases/index.js';
import { databaseBuilder, expect } from '../../../../../test-helper.js';

describe('Integration | Prescription | Learner Management | Domain | UseCase | get-attestation-zip-for-divisions', function () {
it('returns a zip attestation', async function () {
// given
const organizationId = databaseBuilder.factory.buildOrganization().id;
databaseBuilder.factory.buildOrganizationLearner({ organizationId, division: '6eme A' });
databaseBuilder.factory.buildOrganizationLearner({ organizationId, division: '6eme B' });
const attestation = databaseBuilder.factory.buildAttestation();

await databaseBuilder.commit();

// when
const result = await usecases.getAttestationZipForDivisions({
attestationKey: attestation.key,
divisions: ['6eme A', '6eme B'],
organizationId,
});

// then
expect(Buffer.isBuffer(result)).to.be.true;
});
});

0 comments on commit 054dc32

Please sign in to comment.