Skip to content

Commit

Permalink
Add syncID to itslearning requests and logs
Browse files Browse the repository at this point in the history
  • Loading branch information
marode-cap committed Dec 11, 2024
1 parent f363713 commit e8de92b
Show file tree
Hide file tree
Showing 14 changed files with 529 additions and 290 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -68,13 +68,18 @@ describe('ItsLearning Organisations Event Handler', () => {

await sut.createKlasseEventHandler(event);

expect(itslearningGroupRepoMock.createOrUpdateGroup).toHaveBeenLastCalledWith<[CreateGroupParams]>({
id: event.id,
name: event.name!,
parentId: event.administriertVon!,
type: 'Unspecified',
});
expect(loggerMock.info).toHaveBeenLastCalledWith(`Klasse with ID ${event.id} created.`);
expect(itslearningGroupRepoMock.createOrUpdateGroup).toHaveBeenLastCalledWith<[CreateGroupParams, string]>(
{
id: event.id,
name: event.name!,
parentId: event.administriertVon!,
type: 'Unspecified',
},
`${event.eventID}-KLASSE-CREATED`,
);
expect(loggerMock.info).toHaveBeenLastCalledWith(
`[EventID: ${event.eventID}] Klasse with ID ${event.id} created.`,
);
});

it('should skip event, if not enabled', async () => {
Expand All @@ -87,7 +92,7 @@ describe('ItsLearning Organisations Event Handler', () => {

await sut.createKlasseEventHandler(event);

expect(loggerMock.info).toHaveBeenCalledWith('Not enabled, ignoring event.');
expect(loggerMock.info).toHaveBeenCalledWith(`[EventID: ${event.eventID}] Not enabled, ignoring event.`);
expect(itslearningGroupRepoMock.createOrUpdateGroup).not.toHaveBeenCalled();
});

Expand All @@ -100,7 +105,9 @@ describe('ItsLearning Organisations Event Handler', () => {

await sut.createKlasseEventHandler(event);

expect(loggerMock.error).toHaveBeenCalledWith('Klasse has no parent organisation. Aborting.');
expect(loggerMock.error).toHaveBeenCalledWith(
`[EventID: ${event.eventID}] Klasse has no parent organisation. Aborting.`,
);
});

it('should log error, if the klasse has no name', async () => {
Expand All @@ -112,7 +119,7 @@ describe('ItsLearning Organisations Event Handler', () => {

await sut.createKlasseEventHandler(event);

expect(loggerMock.error).toHaveBeenCalledWith('Klasse has no name. Aborting.');
expect(loggerMock.error).toHaveBeenCalledWith(`[EventID: ${event.eventID}] Klasse has no name. Aborting.`);
});

it('should log info, if the parent school is not itslearning enabled', async () => {
Expand All @@ -126,7 +133,7 @@ describe('ItsLearning Organisations Event Handler', () => {
await sut.createKlasseEventHandler(event);

expect(loggerMock.info).toHaveBeenCalledWith(
`Parent Organisation (${event.administriertVon}) is not an itslearning schule.`,
`[EventID: ${event.eventID}] Parent Organisation (${event.administriertVon}) is not an itslearning schule.`,
);
});

Expand All @@ -142,7 +149,9 @@ describe('ItsLearning Organisations Event Handler', () => {
); // CreateGroupAction

await sut.createKlasseEventHandler(event);
expect(loggerMock.error).toHaveBeenLastCalledWith('Could not create Klasse in itsLearning: Error');
expect(loggerMock.error).toHaveBeenLastCalledWith(
`[EventID: ${event.eventID}] Could not create Klasse in itsLearning: Error`,
);
});
});

Expand All @@ -157,13 +166,18 @@ describe('ItsLearning Organisations Event Handler', () => {

await sut.updatedKlasseEventHandler(event);

expect(itslearningGroupRepoMock.createOrUpdateGroup).toHaveBeenLastCalledWith<[CreateGroupParams]>({
id: event.organisationId,
name: event.name,
parentId: event.administriertVon!,
type: 'Unspecified',
});
expect(loggerMock.info).toHaveBeenLastCalledWith(`Klasse with ID ${event.organisationId} was updated.`);
expect(itslearningGroupRepoMock.createOrUpdateGroup).toHaveBeenLastCalledWith<[CreateGroupParams, string]>(
{
id: event.organisationId,
name: event.name,
parentId: event.administriertVon!,
type: 'Unspecified',
},
`${event.eventID}-KLASSE-UPDATED`,
);
expect(loggerMock.info).toHaveBeenLastCalledWith(
`[EventID: ${event.eventID}] Klasse with ID ${event.organisationId} was updated.`,
);
});

it('should skip event, if not enabled', async () => {
Expand All @@ -176,7 +190,7 @@ describe('ItsLearning Organisations Event Handler', () => {

await sut.updatedKlasseEventHandler(event);

expect(loggerMock.info).toHaveBeenCalledWith('Not enabled, ignoring event.');
expect(loggerMock.info).toHaveBeenCalledWith(`[EventID: ${event.eventID}] Not enabled, ignoring event.`);
expect(itslearningGroupRepoMock.createOrUpdateGroup).not.toHaveBeenCalled();
});

Expand All @@ -189,7 +203,9 @@ describe('ItsLearning Organisations Event Handler', () => {

await sut.updatedKlasseEventHandler(event);

expect(loggerMock.error).toHaveBeenCalledWith('Klasse has no parent organisation. Aborting.');
expect(loggerMock.error).toHaveBeenCalledWith(
`[EventID: ${event.eventID}] Klasse has no parent organisation. Aborting.`,
);
expect(itslearningGroupRepoMock.createOrUpdateGroup).not.toHaveBeenCalled();
});

Expand All @@ -198,7 +214,7 @@ describe('ItsLearning Organisations Event Handler', () => {

await sut.updatedKlasseEventHandler(event);

expect(loggerMock.error).toHaveBeenCalledWith('Klasse has no name. Aborting.');
expect(loggerMock.error).toHaveBeenCalledWith(`[EventID: ${event.eventID}] Klasse has no name. Aborting.`);
expect(itslearningGroupRepoMock.createOrUpdateGroup).not.toHaveBeenCalled();
});

Expand All @@ -213,7 +229,7 @@ describe('ItsLearning Organisations Event Handler', () => {
await sut.updatedKlasseEventHandler(event);

expect(loggerMock.info).toHaveBeenCalledWith(
`Parent Organisation (${event.administriertVon}) is not an itslearning schule.`,
`[EventID: ${event.eventID}] Parent Organisation (${event.administriertVon}) is not an itslearning schule.`,
);
});

Expand All @@ -230,7 +246,9 @@ describe('ItsLearning Organisations Event Handler', () => {

await sut.updatedKlasseEventHandler(event);

expect(loggerMock.error).toHaveBeenLastCalledWith('Could not update Klasse in itsLearning: Error');
expect(loggerMock.error).toHaveBeenLastCalledWith(
`[EventID: ${event.eventID}] Could not update Klasse in itsLearning: Error`,
);
});
});

Expand All @@ -241,8 +259,13 @@ describe('ItsLearning Organisations Event Handler', () => {

await sut.deletedKlasseEventHandler(event);

expect(itslearningGroupRepoMock.deleteGroup).toHaveBeenLastCalledWith(event.organisationId);
expect(loggerMock.info).toHaveBeenLastCalledWith(`Klasse with ID ${event.organisationId} was deleted.`);
expect(itslearningGroupRepoMock.deleteGroup).toHaveBeenLastCalledWith(
event.organisationId,
`${event.eventID}-KLASSE-DELETED`,
);
expect(loggerMock.info).toHaveBeenLastCalledWith(
`[EventID: ${event.eventID}] Klasse with ID ${event.organisationId} was deleted.`,
);
});

it('should skip event, if not enabled', async () => {
Expand All @@ -251,7 +274,7 @@ describe('ItsLearning Organisations Event Handler', () => {

await sut.deletedKlasseEventHandler(event);

expect(loggerMock.info).toHaveBeenCalledWith('Not enabled, ignoring event.');
expect(loggerMock.info).toHaveBeenCalledWith(`[EventID: ${event.eventID}] Not enabled, ignoring event.`);
expect(itslearningGroupRepoMock.deleteGroup).not.toHaveBeenCalled();
});

Expand All @@ -261,7 +284,9 @@ describe('ItsLearning Organisations Event Handler', () => {

await sut.deletedKlasseEventHandler(event);

expect(loggerMock.error).toHaveBeenLastCalledWith('Could not delete Klasse in itsLearning: Error');
expect(loggerMock.error).toHaveBeenLastCalledWith(
`[EventID: ${event.eventID}] Could not delete Klasse in itsLearning: Error`,
);
});
});

Expand All @@ -277,7 +302,7 @@ describe('ItsLearning Organisations Event Handler', () => {

await sut.schuleItslearningEnabledEventHandler(event);

expect(loggerMock.info).toHaveBeenCalledWith('Not enabled, ignoring event.');
expect(loggerMock.info).toHaveBeenCalledWith(`[EventID: ${event.eventID}] Not enabled, ignoring event.`);
expect(itslearningGroupRepoMock.createOrUpdateGroups).not.toHaveBeenCalled();
});

Expand All @@ -292,7 +317,7 @@ describe('ItsLearning Organisations Event Handler', () => {
await sut.schuleItslearningEnabledEventHandler(event);

expect(loggerMock.error).toHaveBeenCalledWith(
`The organisation with ID ${event.organisationId} is not of type "SCHULE"!`,
`[EventID: ${event.eventID}] The organisation with ID ${event.organisationId} is not of type "SCHULE"!`,
);
expect(itslearningGroupRepoMock.createOrUpdateGroups).not.toHaveBeenCalled();
});
Expand All @@ -310,7 +335,7 @@ describe('ItsLearning Organisations Event Handler', () => {

await sut.schuleItslearningEnabledEventHandler(event);

expect(loggerMock.error).toHaveBeenCalledWith('Ersatzschule, ignoring.');
expect(loggerMock.error).toHaveBeenCalledWith(`[EventID: ${event.eventID}] Ersatzschule, ignoring.`);
expect(itslearningGroupRepoMock.createOrUpdateGroups).not.toHaveBeenCalled();
});

Expand All @@ -332,7 +357,7 @@ describe('ItsLearning Organisations Event Handler', () => {
await sut.schuleItslearningEnabledEventHandler(event);

expect(loggerMock.error).toHaveBeenLastCalledWith(
`Could not create Schule (ID ${event.organisationId}) and its Klassen in itsLearning: Error`,
`[EventID: ${event.eventID}] Could not create Schule (ID ${event.organisationId}) and its Klassen in itsLearning: Error`,
);
});

Expand Down Expand Up @@ -360,28 +385,31 @@ describe('ItsLearning Organisations Event Handler', () => {
await sut.schuleItslearningEnabledEventHandler(event);

expect(loggerMock.info).toHaveBeenLastCalledWith(
`Schule with ID ${event.organisationId} and its 2 Klassen were created.`,
`[EventID: ${event.eventID}] Schule with ID ${event.organisationId} and its 2 Klassen were created.`,
);
expect(itslearningGroupRepoMock.createOrUpdateGroups).toHaveBeenCalledWith<[CreateGroupParams[], string]>(
[
{
id: event.organisationId,
name: `${event.kennung} (${event.name})`,
type: 'School',
parentId: sut.ROOT_OEFFENTLICH,
},
{
id: klasse1.id,
name: `${klasse1.name}`,
type: 'Unspecified',
parentId: event.organisationId,
},
{
id: klasse2.id,
name: `Unbenannte Klasse`,
type: 'Unspecified',
parentId: event.organisationId,
},
],
`${event.eventID}-SCHULE-SYNC`,
);
expect(itslearningGroupRepoMock.createOrUpdateGroups).toHaveBeenCalledWith<[CreateGroupParams[]]>([
{
id: event.organisationId,
name: `${event.kennung} (${event.name})`,
type: 'School',
parentId: sut.ROOT_OEFFENTLICH,
},
{
id: klasse1.id,
name: `${klasse1.name}`,
type: 'Unspecified',
parentId: event.organisationId,
},
{
id: klasse2.id,
name: `Unbenannte Klasse`,
type: 'Unspecified',
parentId: event.organisationId,
},
]);
});

it('should set default name for schule', async () => {
Expand All @@ -400,16 +428,19 @@ describe('ItsLearning Organisations Event Handler', () => {
await sut.schuleItslearningEnabledEventHandler(event);

expect(loggerMock.info).toHaveBeenLastCalledWith(
`Schule with ID ${event.organisationId} and its 0 Klassen were created.`,
`[EventID: ${event.eventID}] Schule with ID ${event.organisationId} and its 0 Klassen were created.`,
);
expect(itslearningGroupRepoMock.createOrUpdateGroups).toHaveBeenCalledWith<[CreateGroupParams[], string]>(
[
{
id: event.organisationId,
name: `${event.kennung} (Unbenannte Schule)`,
type: 'School',
parentId: sut.ROOT_OEFFENTLICH,
},
],
`${event.eventID}-SCHULE-SYNC`,
);
expect(itslearningGroupRepoMock.createOrUpdateGroups).toHaveBeenCalledWith<[CreateGroupParams[]]>([
{
id: event.organisationId,
name: `${event.kennung} (Unbenannte Schule)`,
type: 'School',
parentId: sut.ROOT_OEFFENTLICH,
},
]);
});
});
});
Loading

0 comments on commit e8de92b

Please sign in to comment.