@volontariapp/domain-social 0.16.2 → 0.17.0-snap-e268464

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/constants.d.ts +2 -0
  3. package/dist/constants.d.ts.map +1 -0
  4. package/dist/constants.js +2 -0
  5. package/dist/constants.js.map +1 -0
  6. package/dist/index.d.ts +1 -0
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +1 -0
  9. package/dist/index.js.map +1 -1
  10. package/dist/repositories/base/neo4j-base.repository.d.ts +2 -0
  11. package/dist/repositories/base/neo4j-base.repository.d.ts.map +1 -1
  12. package/dist/repositories/base/neo4j-base.repository.js +5 -1
  13. package/dist/repositories/base/neo4j-base.repository.js.map +1 -1
  14. package/dist/repositories/interfaces/interaction.repository.d.ts +2 -0
  15. package/dist/repositories/interfaces/interaction.repository.d.ts.map +1 -1
  16. package/dist/repositories/interfaces/participation.repository.d.ts +2 -0
  17. package/dist/repositories/interfaces/participation.repository.d.ts.map +1 -1
  18. package/dist/repositories/neo4j-event-post-link.repository.d.ts.map +1 -1
  19. package/dist/repositories/neo4j-event-post-link.repository.js +1 -0
  20. package/dist/repositories/neo4j-event-post-link.repository.js.map +1 -1
  21. package/dist/repositories/neo4j-interaction.repository.d.ts +2 -0
  22. package/dist/repositories/neo4j-interaction.repository.d.ts.map +1 -1
  23. package/dist/repositories/neo4j-interaction.repository.js +14 -1
  24. package/dist/repositories/neo4j-interaction.repository.js.map +1 -1
  25. package/dist/repositories/neo4j-participation.repository.d.ts +2 -0
  26. package/dist/repositories/neo4j-participation.repository.d.ts.map +1 -1
  27. package/dist/repositories/neo4j-participation.repository.js +17 -3
  28. package/dist/repositories/neo4j-participation.repository.js.map +1 -1
  29. package/dist/repositories/neo4j-publication.repository.d.ts.map +1 -1
  30. package/dist/repositories/neo4j-publication.repository.js +2 -0
  31. package/dist/repositories/neo4j-publication.repository.js.map +1 -1
  32. package/dist/repositories/neo4j-relationship.repository.d.ts.map +1 -1
  33. package/dist/repositories/neo4j-relationship.repository.js +4 -0
  34. package/dist/repositories/neo4j-relationship.repository.js.map +1 -1
  35. package/dist/services/interaction.service.d.ts +2 -0
  36. package/dist/services/interaction.service.d.ts.map +1 -1
  37. package/dist/services/interaction.service.js +13 -0
  38. package/dist/services/interaction.service.js.map +1 -1
  39. package/dist/services/participation.service.d.ts +2 -0
  40. package/dist/services/participation.service.d.ts.map +1 -1
  41. package/dist/services/participation.service.js +13 -0
  42. package/dist/services/participation.service.js.map +1 -1
  43. package/dist/test/__test-utils__/mocks/interaction.repository.mock.d.ts.map +1 -1
  44. package/dist/test/__test-utils__/mocks/interaction.repository.mock.js +1 -0
  45. package/dist/test/__test-utils__/mocks/interaction.repository.mock.js.map +1 -1
  46. package/dist/test/__test-utils__/mocks/neo4j-provider.mock.d.ts +8 -0
  47. package/dist/test/__test-utils__/mocks/neo4j-provider.mock.d.ts.map +1 -0
  48. package/dist/test/__test-utils__/mocks/neo4j-provider.mock.js +16 -0
  49. package/dist/test/__test-utils__/mocks/neo4j-provider.mock.js.map +1 -0
  50. package/dist/test/unit/neo4j-batch-methods.unit.spec.d.ts +2 -0
  51. package/dist/test/unit/neo4j-batch-methods.unit.spec.d.ts.map +1 -0
  52. package/dist/test/unit/neo4j-batch-methods.unit.spec.js +136 -0
  53. package/dist/test/unit/neo4j-batch-methods.unit.spec.js.map +1 -0
  54. package/dist/test/unit/neo4j-pagination-order.unit.spec.d.ts +2 -0
  55. package/dist/test/unit/neo4j-pagination-order.unit.spec.d.ts.map +1 -0
  56. package/dist/test/unit/neo4j-pagination-order.unit.spec.js +112 -0
  57. package/dist/test/unit/neo4j-pagination-order.unit.spec.js.map +1 -0
  58. package/dist/value-objects/batch-results.vo.d.ts +12 -0
  59. package/dist/value-objects/batch-results.vo.d.ts.map +1 -0
  60. package/dist/value-objects/batch-results.vo.js +19 -0
  61. package/dist/value-objects/batch-results.vo.js.map +1 -0
  62. package/dist/value-objects/index.d.ts +1 -0
  63. package/dist/value-objects/index.d.ts.map +1 -1
  64. package/dist/value-objects/index.js +1 -0
  65. package/dist/value-objects/index.js.map +1 -1
  66. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"interaction.service.js","sourceRoot":"","sources":["../../src/services/interaction.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interaction.service.js","sourceRoot":"","sources":["../../src/services/interaction.service.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import type { IParticipationRepository } from '../repositories/interfaces/partic
4
4
  import { UserId, EventId } from '../value-objects/ids.vo.js';
5
5
  import { PaginationVO } from '../value-objects/pagination.vo.js';
6
6
  import { PaginatedIdsVO } from '../index.js';
7
+ import type { EventParticipantCountVO } from '../value-objects/batch-results.vo.js';
7
8
  import { PaginatedAttendeesVO } from '../value-objects/paginated-attendees.vo.js';
8
9
  export declare class ParticipationService {
9
10
  private readonly repository;
@@ -26,6 +27,7 @@ export declare class ParticipationService {
26
27
  getUserEvents(userId: UserId, pagination: PaginationVO): Promise<PaginatedIdsVO>;
27
28
  getUserParticipations(userId: UserId, pagination: PaginationVO): Promise<PaginatedIdsVO>;
28
29
  getEventParticipants(eventId: EventId, pagination: PaginationVO): Promise<PaginatedIdsVO>;
30
+ countParticipantsByEventIds(eventIds: EventId[]): Promise<EventParticipantCountVO[]>;
29
31
  wishEvent(userId: UserId, eventId: EventId): Promise<void>;
30
32
  unwishEvent(userId: UserId, eventId: EventId): Promise<void>;
31
33
  getUserWishes(userId: UserId, pagination: PaginationVO): Promise<PaginatedIdsVO>;
@@ -1 +1 @@
1
- {"version":3,"file":"participation.service.d.ts","sourceRoot":"","sources":["../../src/services/participation.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"participation.service.d.ts","sourceRoot":"","sources":["../../src/services/participation.service.ts"],"names":[],"mappings":"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"}
@@ -231,6 +231,19 @@ let ParticipationService = ParticipationService_1 = class ParticipationService {
231
231
  throw DATABASE_ERROR('fetching event participants', error.message);
232
232
  }
233
233
  }
234
+ async countParticipantsByEventIds(eventIds) {
235
+ if (eventIds.length === 0)
236
+ return [];
237
+ try {
238
+ return await this.repository.countParticipantsByEventIds(eventIds.map((id) => id.value));
239
+ }
240
+ catch (error) {
241
+ if (isBaseError(error))
242
+ throw error;
243
+ this.logger.error(`Failed to count participants for ${String(eventIds.length)} events`, error);
244
+ throw DATABASE_ERROR('counting event participants', error.message);
245
+ }
246
+ }
234
247
  async wishEvent(userId, eventId) {
235
248
  const user = SocialUserMapper.toEntity(userId);
236
249
  const event = SocialEventMapper.toEntity(eventId);
@@ -1 +1 @@
1
- {"version":3,"file":"participation.service.js","sourceRoot":"","sources":["../../src/services/participation.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"participation.service.js","sourceRoot":"","sources":["../../src/services/participation.service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"interaction.repository.mock.d.ts","sourceRoot":"","sources":["../../../../src/test/__test-utils__/mocks/interaction.repository.mock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4DAA4D,CAAC;AAEzG,eAAO,MAAM,+BAA+B,QAAO,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAO/B,CAAC"}
1
+ {"version":3,"file":"interaction.repository.mock.d.ts","sourceRoot":"","sources":["../../../../src/test/__test-utils__/mocks/interaction.repository.mock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4DAA4D,CAAC;AAEzG,eAAO,MAAM,+BAA+B,QAAO,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAQ/B,CAAC"}
@@ -4,6 +4,7 @@ export const createInteractionRepositoryMock = () => ({
4
4
  deleteLike: jest.fn(),
5
5
  getUserLikes: jest.fn(),
6
6
  getPostLikers: jest.fn(),
7
+ getPostsLikeSummary: jest.fn(),
7
8
  likeExists: jest.fn(),
8
9
  });
9
10
  //# sourceMappingURL=interaction.repository.mock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"interaction.repository.mock.js","sourceRoot":"","sources":["../../../../src/test/__test-utils__/mocks/interaction.repository.mock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAGrC,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAwC,EAAE,CACvF,CAAC;IACC,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE;IACrB,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE;IACrB,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE;IACvB,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE;IACxB,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE;CACtB,CAAmD,CAAC"}
1
+ {"version":3,"file":"interaction.repository.mock.js","sourceRoot":"","sources":["../../../../src/test/__test-utils__/mocks/interaction.repository.mock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAGrC,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAwC,EAAE,CACvF,CAAC;IACC,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE;IACrB,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE;IACrB,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE;IACvB,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE;IACxB,mBAAmB,EAAE,IAAI,CAAC,EAAE,EAAE;IAC9B,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE;CACtB,CAAmD,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { jest } from '@jest/globals';
2
+ import type { NestNeo4jProvider } from '@volontariapp/bridge-nest';
3
+ export interface Neo4jProviderMock {
4
+ provider: NestNeo4jProvider;
5
+ run: jest.Mock<(cypher: string, params: Record<string, unknown>) => Promise<unknown>>;
6
+ }
7
+ export declare const createNeo4jProviderMock: (records?: unknown[]) => Neo4jProviderMock;
8
+ //# sourceMappingURL=neo4j-provider.mock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"neo4j-provider.mock.d.ts","sourceRoot":"","sources":["../../../../src/test/__test-utils__/mocks/neo4j-provider.mock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAGnE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,iBAAiB,CAAC;IAE5B,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;CACvF;AAGD,eAAO,MAAM,uBAAuB,aAAa,OAAO,EAAE,KAAQ,iBAajE,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { jest } from '@jest/globals';
2
+ export const createNeo4jProviderMock = (records = []) => {
3
+ const run = jest
4
+ .fn()
5
+ .mockResolvedValue({ records });
6
+ const session = {
7
+ run,
8
+ close: jest.fn().mockResolvedValue(undefined),
9
+ };
10
+ const driver = { session: jest.fn().mockReturnValue(session) };
11
+ const provider = {
12
+ getDriver: jest.fn().mockReturnValue(driver),
13
+ };
14
+ return { provider, run };
15
+ };
16
+ //# sourceMappingURL=neo4j-provider.mock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"neo4j-provider.mock.js","sourceRoot":"","sources":["../../../../src/test/__test-utils__/mocks/neo4j-provider.mock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAWrC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,UAAqB,EAAE,EAAqB,EAAE;IACpF,MAAM,GAAG,GAAG,IAAI;SACb,EAAE,EAAyE;SAC3E,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG;QACd,GAAG;QACH,KAAK,EAAE,IAAI,CAAC,EAAE,EAAuB,CAAC,iBAAiB,CAAC,SAAS,CAAC;KAC7C,CAAC;IACxB,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,EAAuB,CAAC;IACpF,MAAM,QAAQ,GAAG;QACf,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC;KACb,CAAC;IAClC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;AAC3B,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=neo4j-batch-methods.unit.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"neo4j-batch-methods.unit.spec.d.ts","sourceRoot":"","sources":["../../../src/test/unit/neo4j-batch-methods.unit.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,136 @@
1
+ import { describe, it, expect, afterEach, jest } from '@jest/globals';
2
+ import { Neo4jInteractionRepository } from '../../repositories/neo4j-interaction.repository.js';
3
+ import { Neo4jParticipationRepository } from '../../repositories/neo4j-participation.repository.js';
4
+ import { InteractionService } from '../../services/interaction.service.js';
5
+ import { ParticipationService } from '../../services/participation.service.js';
6
+ import { MAX_SOCIAL_BATCH_IDS } from '../../constants.js';
7
+ import { EventParticipantCountVO, PostLikeSummaryVO, } from '../../value-objects/batch-results.vo.js';
8
+ import { createNeo4jProviderMock } from '../__test-utils__/mocks/neo4j-provider.mock.js';
9
+ import { createInteractionRepositoryMock } from '../__test-utils__/mocks/interaction.repository.mock.js';
10
+ import { createParticipationRepositoryMock } from '../__test-utils__/mocks/participation.repository.mock.js';
11
+ import { createEventQueueRepositoryMock } from '../__test-utils__/mocks/event-queue.repository.mock.js';
12
+ import { UserIdFactory, PostIdFactory, EventIdFactory, } from '../__test-utils__/factories/ids.factory.js';
13
+ const record = (values) => ({ get: (key) => values[key] });
14
+ describe('Neo4jInteractionRepository.getPostsLikeSummary', () => {
15
+ afterEach(() => {
16
+ jest.restoreAllMocks();
17
+ });
18
+ it('lit tous les posts en une seule requete UNWIND parametree', async () => {
19
+ const mock = createNeo4jProviderMock([
20
+ record({ postId: 'p1', likeCount: 3, likedByMe: true }),
21
+ record({ postId: 'p2', likeCount: 0, likedByMe: false }),
22
+ ]);
23
+ const repo = new Neo4jInteractionRepository(mock.provider);
24
+ const result = await repo.getPostsLikeSummary('u1', ['p1', 'p2']);
25
+ expect(result).toEqual([
26
+ new PostLikeSummaryVO('p1', 3, true),
27
+ new PostLikeSummaryVO('p2', 0, false),
28
+ ]);
29
+ expect(mock.run).toHaveBeenCalledTimes(1);
30
+ const [cypher, params] = mock.run.mock.calls[0] ?? ['', {}];
31
+ expect(cypher).toContain('UNWIND $postIds');
32
+ expect(cypher).toContain('OPTIONAL MATCH');
33
+ expect(params).toEqual({ postIds: ['p1', 'p2'], userId: 'u1' });
34
+ });
35
+ it('dedoublonne, ignore les ids vides et plafonne sans lever', async () => {
36
+ const mock = createNeo4jProviderMock();
37
+ const repo = new Neo4jInteractionRepository(mock.provider);
38
+ const ids = Array.from({ length: MAX_SOCIAL_BATCH_IDS + 30 }, (_, i) => `p-${i.toString()}`);
39
+ await repo.getPostsLikeSummary('u1', ['', ...ids, 'p-0']);
40
+ const params = mock.run.mock.calls[0]?.[1];
41
+ expect(params.postIds).toEqual(ids.slice(0, MAX_SOCIAL_BATCH_IDS));
42
+ });
43
+ it('ne requete pas pour une liste vide', async () => {
44
+ const mock = createNeo4jProviderMock();
45
+ expect(await new Neo4jInteractionRepository(mock.provider).getPostsLikeSummary('u1', [])).toEqual([]);
46
+ expect(mock.run).not.toHaveBeenCalled();
47
+ });
48
+ it('convertit les entiers neo4j en nombres', async () => {
49
+ const mock = createNeo4jProviderMock([
50
+ record({ postId: 'p1', likeCount: { toNumber: () => 7 }, likedByMe: false }),
51
+ ]);
52
+ const result = await new Neo4jInteractionRepository(mock.provider).getPostsLikeSummary('u', [
53
+ 'p1',
54
+ ]);
55
+ expect(result[0]?.likeCount).toBe(7);
56
+ });
57
+ });
58
+ describe('Neo4jParticipationRepository.countParticipantsByEventIds', () => {
59
+ afterEach(() => {
60
+ jest.restoreAllMocks();
61
+ });
62
+ it('compte les relations PARTICIPATE par evenement en une requete', async () => {
63
+ const mock = createNeo4jProviderMock([
64
+ record({ eventId: 'e1', participantCount: { toNumber: () => 4 } }),
65
+ record({ eventId: 'e2', participantCount: 0 }),
66
+ ]);
67
+ const repo = new Neo4jParticipationRepository(mock.provider);
68
+ const result = await repo.countParticipantsByEventIds(['e1', 'e2']);
69
+ expect(result).toEqual([
70
+ new EventParticipantCountVO('e1', 4),
71
+ new EventParticipantCountVO('e2', 0),
72
+ ]);
73
+ expect(mock.run).toHaveBeenCalledTimes(1);
74
+ const [cypher, params] = mock.run.mock.calls[0] ?? ['', {}];
75
+ expect(cypher).toContain('UNWIND $eventIds');
76
+ expect(cypher).toContain('PARTICIPATE');
77
+ expect(cypher).not.toContain('CREATED');
78
+ expect(params).toEqual({ eventIds: ['e1', 'e2'] });
79
+ });
80
+ it('dedoublonne et plafonne a MAX_SOCIAL_BATCH_IDS', async () => {
81
+ const mock = createNeo4jProviderMock();
82
+ const repo = new Neo4jParticipationRepository(mock.provider);
83
+ const ids = Array.from({ length: MAX_SOCIAL_BATCH_IDS + 5 }, (_, i) => `e-${i.toString()}`);
84
+ await repo.countParticipantsByEventIds([...ids, 'e-1']);
85
+ const params = mock.run.mock.calls[0]?.[1];
86
+ expect(params.eventIds).toHaveLength(MAX_SOCIAL_BATCH_IDS);
87
+ });
88
+ it('ne requete pas pour une liste vide', async () => {
89
+ const mock = createNeo4jProviderMock();
90
+ expect(await new Neo4jParticipationRepository(mock.provider).countParticipantsByEventIds([])).toEqual([]);
91
+ expect(mock.run).not.toHaveBeenCalled();
92
+ });
93
+ });
94
+ describe('Services par lot', () => {
95
+ afterEach(() => {
96
+ jest.restoreAllMocks();
97
+ });
98
+ it('InteractionService.getPostsLikeSummary delegue en un appel', async () => {
99
+ const repository = createInteractionRepositoryMock();
100
+ const service = new InteractionService(repository, createEventQueueRepositoryMock());
101
+ const summaries = [new PostLikeSummaryVO('p1', 1, true)];
102
+ const spy = jest.spyOn(repository, 'getPostsLikeSummary').mockResolvedValue(summaries);
103
+ const result = await service.getPostsLikeSummary(UserIdFactory.build('u1'), [
104
+ PostIdFactory.build('p1'),
105
+ ]);
106
+ expect(result).toEqual(summaries);
107
+ expect(spy).toHaveBeenCalledWith('u1', ['p1']);
108
+ });
109
+ it('InteractionService.getPostsLikeSummary traduit les erreurs en DATABASE_ERROR', async () => {
110
+ const repository = createInteractionRepositoryMock();
111
+ const service = new InteractionService(repository, createEventQueueRepositoryMock());
112
+ jest.spyOn(repository, 'getPostsLikeSummary').mockRejectedValue(new Error('boom'));
113
+ await expect(service.getPostsLikeSummary(UserIdFactory.build('u1'), [PostIdFactory.build('p1')])).rejects.toMatchObject({ code: 'DATABASE_ERROR' });
114
+ });
115
+ it('ParticipationService.countParticipantsByEventIds delegue en un appel', async () => {
116
+ const repository = createParticipationRepositoryMock();
117
+ const service = new ParticipationService(repository, createEventQueueRepositoryMock());
118
+ const counts = [new EventParticipantCountVO('e1', 2)];
119
+ const spy = jest.spyOn(repository, 'countParticipantsByEventIds').mockResolvedValue(counts);
120
+ const result = await service.countParticipantsByEventIds([EventIdFactory.build('e1')]);
121
+ expect(result).toEqual(counts);
122
+ expect(spy).toHaveBeenCalledWith(['e1']);
123
+ });
124
+ it('les services ne touchent pas au repository pour une liste vide', async () => {
125
+ const interaction = createInteractionRepositoryMock();
126
+ const participation = createParticipationRepositoryMock();
127
+ const queue = createEventQueueRepositoryMock();
128
+ const interactionSpy = jest.spyOn(interaction, 'getPostsLikeSummary');
129
+ const participationSpy = jest.spyOn(participation, 'countParticipantsByEventIds');
130
+ expect(await new InteractionService(interaction, queue).getPostsLikeSummary(UserIdFactory.build(), [])).toEqual([]);
131
+ expect(await new ParticipationService(participation, queue).countParticipantsByEventIds([])).toEqual([]);
132
+ expect(interactionSpy).not.toHaveBeenCalled();
133
+ expect(participationSpy).not.toHaveBeenCalled();
134
+ });
135
+ });
136
+ //# sourceMappingURL=neo4j-batch-methods.unit.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"neo4j-batch-methods.unit.spec.js","sourceRoot":"","sources":["../../../src/test/unit/neo4j-batch-methods.unit.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=neo4j-pagination-order.unit.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"neo4j-pagination-order.unit.spec.d.ts","sourceRoot":"","sources":["../../../src/test/unit/neo4j-pagination-order.unit.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,112 @@
1
+ import { describe, it, expect, afterEach, jest } from '@jest/globals';
2
+ import neo4j from 'neo4j-driver';
3
+ import { Neo4jInteractionRepository } from '../../repositories/neo4j-interaction.repository.js';
4
+ import { Neo4jRelationshipRepository } from '../../repositories/neo4j-relationship.repository.js';
5
+ import { Neo4jPublicationRepository } from '../../repositories/neo4j-publication.repository.js';
6
+ import { Neo4jParticipationRepository } from '../../repositories/neo4j-participation.repository.js';
7
+ import { Neo4jEventPostLinkRepository } from '../../repositories/neo4j-event-post-link.repository.js';
8
+ import { PaginationFactory } from '../__test-utils__/factories/pagination.factory.js';
9
+ import { SocialUserFactory } from '../__test-utils__/factories/social-user.factory.js';
10
+ import { SocialPostFactory } from '../__test-utils__/factories/social-post.factory.js';
11
+ import { SocialEventFactory } from '../__test-utils__/factories/social-event.factory.js';
12
+ import { createNeo4jProviderMock } from '../__test-utils__/mocks/neo4j-provider.mock.js';
13
+ const PAGINATION = PaginationFactory.build(3, 20);
14
+ const user = SocialUserFactory.build({ userId: 'u1' });
15
+ const post = SocialPostFactory.build({ postId: 'p1' });
16
+ const event = SocialEventFactory.build({ eventId: 'e1' });
17
+ const cases = [
18
+ {
19
+ name: 'interaction.getUserLikes',
20
+ call: (m, p) => new Neo4jInteractionRepository(m.provider).getUserLikes(user, p),
21
+ },
22
+ {
23
+ name: 'interaction.getPostLikers',
24
+ call: (m, p) => new Neo4jInteractionRepository(m.provider).getPostLikers(post, p),
25
+ },
26
+ {
27
+ name: 'relationship.getFollows',
28
+ call: (m, p) => new Neo4jRelationshipRepository(m.provider).getFollows(user, p),
29
+ },
30
+ {
31
+ name: 'relationship.getFollowers',
32
+ call: (m, p) => new Neo4jRelationshipRepository(m.provider).getFollowers(user, p),
33
+ },
34
+ {
35
+ name: 'relationship.getBlocks',
36
+ call: (m, p) => new Neo4jRelationshipRepository(m.provider).getBlocks(user, p),
37
+ },
38
+ {
39
+ name: 'relationship.getWhoBlockedMe',
40
+ call: (m, p) => new Neo4jRelationshipRepository(m.provider).getWhoBlockedMe(user, p),
41
+ },
42
+ {
43
+ name: 'publication.getUserPosts',
44
+ call: (m, p) => new Neo4jPublicationRepository(m.provider).getUserPosts(user, p),
45
+ },
46
+ {
47
+ name: 'publication.getFeed',
48
+ call: (m, p) => new Neo4jPublicationRepository(m.provider).getFeed(user, p),
49
+ },
50
+ {
51
+ name: 'participation.getUserEvents',
52
+ call: (m, p) => new Neo4jParticipationRepository(m.provider).getUserEvents(user, p),
53
+ },
54
+ {
55
+ name: 'participation.getUserParticipations',
56
+ call: (m, p) => new Neo4jParticipationRepository(m.provider).getUserParticipations(user, p),
57
+ },
58
+ {
59
+ name: 'participation.getUserWishes',
60
+ call: (m, p) => new Neo4jParticipationRepository(m.provider).getUserWishes(user, p),
61
+ },
62
+ {
63
+ name: 'participation.getEventParticipants',
64
+ call: (m, p) => new Neo4jParticipationRepository(m.provider).getEventParticipants(event, p),
65
+ },
66
+ {
67
+ name: 'participation.getRecommendedEventIds',
68
+ call: (m, p) => new Neo4jParticipationRepository(m.provider).getRecommendedEventIds('u1', {}, p),
69
+ },
70
+ {
71
+ name: 'event-post-link.getEventPosts',
72
+ call: (m, p) => new Neo4jEventPostLinkRepository(m.provider).getEventPosts(event, p),
73
+ },
74
+ ];
75
+ describe('Neo4j: ORDER BY deterministe sur toutes les requetes paginees', () => {
76
+ afterEach(() => {
77
+ jest.restoreAllMocks();
78
+ });
79
+ it.each(cases)('$name ordonne avant SKIP/LIMIT et garde des entiers neo4j', async ({ call }) => {
80
+ const mock = createNeo4jProviderMock();
81
+ await call(mock, PAGINATION);
82
+ const dataCall = mock.run.mock.calls.find(([cypher]) => cypher.includes('SKIP'));
83
+ expect(dataCall).toBeDefined();
84
+ const [cypher, params] = dataCall ?? ['', {}];
85
+ const orderIndex = cypher.indexOf('ORDER BY');
86
+ expect(orderIndex).toBeGreaterThan(-1);
87
+ expect(orderIndex).toBeLessThan(cypher.indexOf('SKIP'));
88
+ expect(neo4j.isInt(params.skip)).toBe(true);
89
+ expect(neo4j.isInt(params.limit)).toBe(true);
90
+ expect(neo4j.int(params.skip).toNumber()).toBe(40);
91
+ expect(neo4j.int(params.limit).toNumber()).toBe(20);
92
+ });
93
+ it('les listes de participations trient par registeredAt DESC puis id', async () => {
94
+ const mock = createNeo4jProviderMock();
95
+ const repo = new Neo4jParticipationRepository(mock.provider);
96
+ await repo.getUserParticipations(user, PAGINATION);
97
+ await repo.getEventParticipants(event, PAGINATION);
98
+ const dataQueries = mock.run.mock.calls.map(([c]) => c).filter((c) => c.includes('SKIP'));
99
+ expect(dataQueries).toHaveLength(2);
100
+ for (const cypher of dataQueries) {
101
+ expect(cypher).toMatch(/ORDER BY coalesce\(r\.registeredAt, .*\) DESC, id ASC/);
102
+ }
103
+ });
104
+ it('les autres listes (sans horodatage stocke) trient sur l identifiant seul', async () => {
105
+ const mock = createNeo4jProviderMock();
106
+ await new Neo4jInteractionRepository(mock.provider).getUserLikes(user, PAGINATION);
107
+ const cypher = mock.run.mock.calls.map(([c]) => c).find((c) => c.includes('SKIP')) ?? '';
108
+ expect(cypher).toContain('ORDER BY id');
109
+ expect(cypher).not.toContain('createdAt');
110
+ });
111
+ });
112
+ //# sourceMappingURL=neo4j-pagination-order.unit.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"neo4j-pagination-order.unit.spec.js","sourceRoot":"","sources":["../../../src/test/unit/neo4j-pagination-order.unit.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export declare class EventParticipantCountVO {
2
+ readonly eventId: string;
3
+ readonly count: number;
4
+ constructor(eventId: string, count: number);
5
+ }
6
+ export declare class PostLikeSummaryVO {
7
+ readonly postId: string;
8
+ readonly likeCount: number;
9
+ readonly likedByMe: boolean;
10
+ constructor(postId: string, likeCount: number, likedByMe: boolean);
11
+ }
12
+ //# sourceMappingURL=batch-results.vo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch-results.vo.d.ts","sourceRoot":"","sources":["../../src/value-objects/batch-results.vo.ts"],"names":[],"mappings":"AACA,qBAAa,uBAAuB;aAEhB,OAAO,EAAE,MAAM;aACf,KAAK,EAAE,MAAM;gBADb,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM;CAEhC;AAGD,qBAAa,iBAAiB;aAEV,MAAM,EAAE,MAAM;aACd,SAAS,EAAE,MAAM;aACjB,SAAS,EAAE,OAAO;gBAFlB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,OAAO;CAErC"}
@@ -0,0 +1,19 @@
1
+ export class EventParticipantCountVO {
2
+ eventId;
3
+ count;
4
+ constructor(eventId, count) {
5
+ this.eventId = eventId;
6
+ this.count = count;
7
+ }
8
+ }
9
+ export class PostLikeSummaryVO {
10
+ postId;
11
+ likeCount;
12
+ likedByMe;
13
+ constructor(postId, likeCount, likedByMe) {
14
+ this.postId = postId;
15
+ this.likeCount = likeCount;
16
+ this.likedByMe = likedByMe;
17
+ }
18
+ }
19
+ //# sourceMappingURL=batch-results.vo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch-results.vo.js","sourceRoot":"","sources":["../../src/value-objects/batch-results.vo.ts"],"names":[],"mappings":"AACA,MAAM,OAAO,uBAAuB;IAEhB;IACA;IAFlB,YACkB,OAAe,EACf,KAAa;QADb,YAAO,GAAP,OAAO,CAAQ;QACf,UAAK,GAAL,KAAK,CAAQ;IAC5B,CAAC;CACL;AAGD,MAAM,OAAO,iBAAiB;IAEV;IACA;IACA;IAHlB,YACkB,MAAc,EACd,SAAiB,EACjB,SAAkB;QAFlB,WAAM,GAAN,MAAM,CAAQ;QACd,cAAS,GAAT,SAAS,CAAQ;QACjB,cAAS,GAAT,SAAS,CAAS;IACjC,CAAC;CACL"}
@@ -4,4 +4,5 @@ export * from './relationship-type.vo.js';
4
4
  export * from './pagination-result.vo.js';
5
5
  export * from './paginated-ids.vo.js';
6
6
  export * from './paginated-attendees.vo.js';
7
+ export * from './batch-results.vo.js';
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/value-objects/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/value-objects/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC"}
@@ -4,4 +4,5 @@ export * from './relationship-type.vo.js';
4
4
  export * from './pagination-result.vo.js';
5
5
  export * from './paginated-ids.vo.js';
6
6
  export * from './paginated-attendees.vo.js';
7
+ export * from './batch-results.vo.js';
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/value-objects/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/value-objects/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@volontariapp/domain-social",
3
- "version": "0.16.2",
3
+ "version": "0.17.0-snap-e268464",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "provenance": true
@@ -42,12 +42,12 @@
42
42
  "@nestjs/typeorm": "^11.0.3",
43
43
  "@volontariapp/bridge-nest": "0.3.22",
44
44
  "@volontariapp/contracts": "4.8.4",
45
- "@volontariapp/database": "3.11.6",
45
+ "@volontariapp/database": "3.12.0-snap-e268464",
46
46
  "@volontariapp/errors": "0.7.0",
47
47
  "@volontariapp/errors-nest": "0.14.1",
48
48
  "@volontariapp/logger": "0.4.0",
49
49
  "@volontariapp/messaging": "2.30.2",
50
- "@volontariapp/outbox": "0.10.25",
50
+ "@volontariapp/outbox": "0.10.26-snap-e268464",
51
51
  "@volontariapp/shared": "0.18.1",
52
52
  "neo4j-driver": "^6.2.0",
53
53
  "reflect-metadata": "^0.2.2"