@lilaquadrat/studio 12.2.0 → 13.0.0

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/lib/src/helpers/shiftPlanAllocation.d.ts +53 -0
  2. package/lib/src/helpers/shiftPlanAllocation.js +110 -0
  3. package/lib/src/helpers/shiftPlanAllocation.js.map +1 -0
  4. package/lib/src/helpers/shiftPlanCoverage.d.ts +2 -0
  5. package/lib/src/helpers/shiftPlanCoverage.js +4 -0
  6. package/lib/src/helpers/shiftPlanCoverage.js.map +1 -0
  7. package/lib/src/helpers/shiftPlanningTime.js +26 -2
  8. package/lib/src/helpers/shiftPlanningTime.js.map +1 -1
  9. package/lib/src/helpers/shiftPlanningValidation.d.ts +8 -2
  10. package/lib/src/helpers/shiftPlanningValidation.js +16 -0
  11. package/lib/src/helpers/shiftPlanningValidation.js.map +1 -1
  12. package/lib/src/helpers/structureMatch.js +3 -1
  13. package/lib/src/helpers/structureMatch.js.map +1 -1
  14. package/lib/src/interfaces/ListPlanningParticipant.d.ts +17 -0
  15. package/lib/src/interfaces/ListPlanningParticipant.js +2 -0
  16. package/lib/src/interfaces/ListPlanningParticipant.js.map +1 -0
  17. package/lib/src/interfaces/PlanCoveragePreparation.d.ts +17 -0
  18. package/lib/src/interfaces/PlanCoveragePreparation.js +2 -0
  19. package/lib/src/interfaces/PlanCoveragePreparation.js.map +1 -0
  20. package/lib/src/interfaces/PlanningParticipantsResult.d.ts +12 -0
  21. package/lib/src/interfaces/PlanningParticipantsResult.js +2 -0
  22. package/lib/src/interfaces/PlanningParticipantsResult.js.map +1 -0
  23. package/lib/src/interfaces/ShiftAutofillResult.d.ts +6 -0
  24. package/lib/src/interfaces/ShiftAutofillResult.js +2 -0
  25. package/lib/src/interfaces/ShiftAutofillResult.js.map +1 -0
  26. package/lib/src/interfaces/ShiftReportContextOptions.d.ts +9 -0
  27. package/lib/src/interfaces/ShiftReportContextOptions.js +2 -0
  28. package/lib/src/interfaces/ShiftReportContextOptions.js.map +1 -0
  29. package/lib/src/models/lists.model.js +2 -1
  30. package/lib/src/models/lists.model.js.map +1 -1
  31. package/lib/src/services/customers.service.d.ts +2 -2
  32. package/lib/src/services/customers.service.js +2 -2
  33. package/lib/src/services/customers.service.js.map +1 -1
  34. package/lib/src/services/listParticipants.service.d.ts +45 -8
  35. package/lib/src/services/listParticipants.service.js +320 -39
  36. package/lib/src/services/listParticipants.service.js.map +1 -1
  37. package/lib/src/services/lists.service.d.ts +2 -0
  38. package/lib/src/services/lists.service.js +28 -1
  39. package/lib/src/services/lists.service.js.map +1 -1
  40. package/lib/src/services/shiftPlanDays.service.d.ts +2 -0
  41. package/lib/src/services/shiftPlanDays.service.js +12 -0
  42. package/lib/src/services/shiftPlanDays.service.js.map +1 -1
  43. package/lib/src/services/shiftPlans.service.d.ts +2 -2
  44. package/lib/src/services/shiftPlans.service.js +67 -9
  45. package/lib/src/services/shiftPlans.service.js.map +1 -1
  46. package/lib/src/services/shifts.service.d.ts +20 -1
  47. package/lib/src/services/shifts.service.js +180 -26
  48. package/lib/src/services/shifts.service.js.map +1 -1
  49. package/lib/tests/listParticipantsPlanning.spec.js +406 -10
  50. package/lib/tests/listParticipantsPlanning.spec.js.map +1 -1
  51. package/lib/tests/listsServiceCreateExternalProducts.spec.js +18 -0
  52. package/lib/tests/listsServiceCreateExternalProducts.spec.js.map +1 -1
  53. package/lib/tests/shiftPlanCoverage.spec.d.ts +1 -0
  54. package/lib/tests/shiftPlanCoverage.spec.js +189 -0
  55. package/lib/tests/shiftPlanCoverage.spec.js.map +1 -0
  56. package/lib/tests/shiftPlanning.spec.js +430 -38
  57. package/lib/tests/shiftPlanning.spec.js.map +1 -1
  58. package/lib/tests/shiftPlanningTime.spec.d.ts +1 -0
  59. package/lib/tests/shiftPlanningTime.spec.js +90 -0
  60. package/lib/tests/shiftPlanningTime.spec.js.map +1 -0
  61. package/lib/tests/shiftPlansList.spec.d.ts +1 -0
  62. package/lib/tests/shiftPlansList.spec.js +161 -0
  63. package/lib/tests/shiftPlansList.spec.js.map +1 -0
  64. package/lib/tests/structureMatch.spec.js +42 -0
  65. package/lib/tests/structureMatch.spec.js.map +1 -1
  66. package/package.json +2 -2
@@ -0,0 +1,161 @@
1
+ import { afterAll, beforeAll, beforeEach, describe, expect, it, jest } from '@jest/globals';
2
+ import { MongoClient, ObjectId } from 'mongodb';
3
+ import plansService from '../src/services/shiftPlans.service.js';
4
+ import PlanModel from '../src/models/shiftPlan.model.js';
5
+ import DayModel from '../src/models/shiftPlanDays.model.js';
6
+ import ShiftModel from '../src/models/shift.model.js';
7
+ import ListsModel from '../src/models/lists.model.js';
8
+ // mongo-mock cannot execute aggregation pipelines; opt in with a dedicated, disposable database.
9
+ const mongoUrl = process.env.MONGODB_TEST_URL;
10
+ const integration = mongoUrl ? describe : describe.skip;
11
+ const options = { company: 'hotel', project: 'hotel-project', user: 'planner', app: 'studio' };
12
+ const scope = { company: options.company, project: options.project };
13
+ const listId = new ObjectId();
14
+ integration('shift plan list aggregation', () => {
15
+ const client = new MongoClient(mongoUrl ?? 'mongodb://localhost:27017');
16
+ const database = client.db(`shift-plans-list-tests-${new ObjectId().toHexString()}`);
17
+ const plans = database.collection(PlanModel.collection);
18
+ const days = database.collection(DayModel.collection);
19
+ const lists = database.collection(ListsModel.collection);
20
+ const shifts = database.collection(ShiftModel.collection);
21
+ const insertPlan = async (name, extra = {}) => {
22
+ const _id = new ObjectId();
23
+ await database.collection(PlanModel.collection).insertOne({ _id, ...scope, name, timeZone: 'Europe/Berlin', list: listId, ...extra });
24
+ return _id;
25
+ };
26
+ const insertDays = async (plan, dates, extra = {}) => {
27
+ await database.collection(DayModel.collection).insertMany(dates.map((date) => ({ _id: new ObjectId(), ...scope, plan, date, ...extra })));
28
+ };
29
+ beforeAll(async () => {
30
+ await client.connect();
31
+ jest.spyOn(PlanModel, 'db', 'get').mockReturnValue(plans);
32
+ jest.spyOn(DayModel, 'db', 'get').mockReturnValue(days);
33
+ jest.spyOn(ListsModel, 'db', 'get').mockReturnValue(lists);
34
+ });
35
+ beforeEach(async () => {
36
+ await Promise.all([plans.deleteMany({}), days.deleteMany({}), lists.deleteMany({}), shifts.deleteMany({})]);
37
+ await database.collection(ListsModel.collection).insertOne({ _id: listId, ...scope, name: 'Hotel staff', private: 'hidden' });
38
+ });
39
+ afterAll(async () => {
40
+ jest.restoreAllMocks();
41
+ try {
42
+ await database.dropDatabase();
43
+ }
44
+ finally {
45
+ await client.close();
46
+ }
47
+ });
48
+ it('searches names literally and returns only summary fields in one aggregation', async () => {
49
+ await insertPlan('Hotel week');
50
+ const plan = await insertPlan('Events [October]');
51
+ const aggregate = jest.spyOn(plans, 'aggregate');
52
+ const find = jest.spyOn(plans, 'find');
53
+ const count = jest.spyOn(plans, 'countDocuments');
54
+ try {
55
+ const matched = await plansService.listPlans({ search: 'events' }, options);
56
+ expect(matched.all).toBe(1);
57
+ expect(matched.data).toEqual([{ _id: plan, name: 'Events [October]', dayCount: 0, shiftCount: 0, list: { _id: listId, name: 'Hotel staff' } }]);
58
+ expect(aggregate).toHaveBeenCalledTimes(1);
59
+ expect(find).not.toHaveBeenCalled();
60
+ expect(count).not.toHaveBeenCalled();
61
+ expect((await plansService.listPlans({ search: '[October]' }, options)).all).toBe(1);
62
+ expect((await plansService.listPlans({ search: '.*' }, options)).all).toBe(0);
63
+ expect((await plansService.listPlans({ search: 'missing' }, options)).data).toEqual([]);
64
+ }
65
+ finally {
66
+ aggregate.mockRestore();
67
+ find.mockRestore();
68
+ count.mockRestore();
69
+ }
70
+ });
71
+ it('uses inclusive from and exclusive to on the same day, but counts all days', async () => {
72
+ const first = await insertPlan('Hotel week');
73
+ const future = await insertPlan('Hotel week');
74
+ const disjoint = await insertPlan('Hotel week');
75
+ await insertDays(first, ['2026-10-05', '2026-10-06']);
76
+ await insertDays(future, ['2026-10-12', '2026-10-20']);
77
+ await insertDays(disjoint, ['2026-10-01', '2026-10-20']);
78
+ const filtered = await plansService.listPlans({ list: listId, from: '2026-10-10', to: '2026-10-15' }, options);
79
+ expect(filtered.all).toBe(1);
80
+ expect(filtered.data[0]._id).toEqual(future);
81
+ expect(filtered.data[0].dayCount).toBe(2);
82
+ const ordered = await plansService.listPlans({ from: '2026-10-05', to: '2026-10-13' }, options);
83
+ expect(ordered.data.map((plan) => plan._id)).toEqual([first, future]);
84
+ expect((await plansService.listPlans({ from: '2026-10-20' }, options)).all).toBe(2);
85
+ expect((await plansService.listPlans({ to: '2026-10-05' }, options)).data.map((plan) => plan._id)).toEqual([disjoint]);
86
+ expect((await plansService.listPlans({ from: '2026-10-06', to: '2026-10-12' }, options)).data.map((plan) => plan._id)).toEqual([first]);
87
+ });
88
+ it('counts all plan shifts independently of the date filter and excludes other plans and scopes', async () => {
89
+ const plan = await insertPlan('Scheduled');
90
+ const otherPlan = await insertPlan('Other plan');
91
+ await insertDays(plan, ['2026-10-12', '2026-10-20']);
92
+ await shifts.insertMany([
93
+ { ...scope, plan, start: '2026-10-12T08:00:00Z', assignments: [] },
94
+ { ...scope, plan, start: '2026-10-12T12:00:00Z', assignments: [{ participant: new ObjectId() }, { participant: new ObjectId() }] },
95
+ { ...scope, plan, start: '2026-10-20T08:00:00Z', assignments: [] },
96
+ { ...scope, plan: otherPlan, start: '2026-10-12T08:00:00Z', assignments: [] },
97
+ { ...scope, plan, project: 'elsewhere', start: '2026-10-12T08:00:00Z', assignments: [] },
98
+ { ...scope, plan, company: 'elsewhere', start: '2026-10-12T08:00:00Z', assignments: [] },
99
+ ]);
100
+ const filtered = await plansService.listPlans({ from: '2026-10-10', to: '2026-10-15' }, options);
101
+ expect(filtered.all).toBe(1);
102
+ expect(filtered.data[0]).toMatchObject({ _id: plan, dayCount: 2, shiftCount: 3 });
103
+ const unfiltered = await plansService.listPlans({}, options);
104
+ expect(unfiltered.data.find((entry) => entry._id?.equals(otherPlan))).toHaveProperty('shiftCount', 1);
105
+ });
106
+ it('scopes plans, day lookups, and linked lists to the company and project', async () => {
107
+ const plan = await insertPlan('Local');
108
+ const foreignList = new ObjectId();
109
+ await database.collection(ListsModel.collection).insertOne({ _id: foreignList, ...scope, project: 'elsewhere', name: 'Private' });
110
+ await insertPlan('Foreign list', { list: foreignList });
111
+ await insertPlan('Missing list', { list: new ObjectId() });
112
+ const unlinked = await insertPlan('No list');
113
+ await plans.updateOne({ _id: unlinked }, { $unset: { list: '' } });
114
+ await insertPlan('Other project', { project: 'elsewhere' });
115
+ await insertPlan('Other company', { company: 'elsewhere' });
116
+ await insertDays(plan, ['2026-10-12'], { project: 'elsewhere' });
117
+ await insertDays(plan, ['2026-10-12'], { company: 'elsewhere' });
118
+ const result = await plansService.listPlans({}, options);
119
+ expect(result.all).toBe(4);
120
+ expect(result.data.every((entry) => entry.dayCount === 0)).toBe(true);
121
+ for (const entry of result.data.filter((entry) => entry.name !== 'Local'))
122
+ expect(entry).toHaveProperty('list', null);
123
+ expect((await plansService.listPlans({ from: '2026-10-10', to: '2026-10-15' }, options)).all).toBe(0);
124
+ expect((await plansService.listPlans({ list: foreignList }, options)).all).toBe(1);
125
+ });
126
+ it('paginates sorted plans while retaining the total on empty pages', async () => {
127
+ const identifiers = [];
128
+ for (let index = 0; index < 32; index++)
129
+ identifiers.push(await insertPlan('Same name'));
130
+ const first = await plansService.listPlans({}, options);
131
+ const second = await plansService.listPlans({ site: 2 }, options);
132
+ const empty = await plansService.listPlans({ site: 3 }, options);
133
+ expect(first.all).toBe(32);
134
+ expect(first.count).toBe(30);
135
+ expect(first.data.map((plan) => plan._id)).toEqual(identifiers.slice(0, 30));
136
+ expect(second.all).toBe(32);
137
+ expect(second.count).toBe(2);
138
+ expect(second.data.map((plan) => plan._id)).toEqual(identifiers.slice(30));
139
+ expect(empty.all).toBe(32);
140
+ expect(empty.count).toBe(0);
141
+ expect(empty.data).toEqual([]);
142
+ });
143
+ it('validates dates, search length, and pagination before querying', async () => {
144
+ const aggregate = jest.spyOn(plans, 'aggregate');
145
+ try {
146
+ for (const filters of [
147
+ { from: '2026-10-05', to: '2026-10-05' },
148
+ { from: '2026-10-06', to: '2026-10-05' },
149
+ { from: 'not-a-date' },
150
+ { search: 'x'.repeat(101) },
151
+ { site: 0 },
152
+ ])
153
+ await expect(plansService.listPlans(filters, options)).rejects.toThrow('VALIDATION_FAILED');
154
+ expect(aggregate).not.toHaveBeenCalled();
155
+ }
156
+ finally {
157
+ aggregate.mockRestore();
158
+ }
159
+ });
160
+ });
161
+ //# sourceMappingURL=shiftPlansList.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shiftPlansList.spec.js","sourceRoot":"","sources":["../../tests/shiftPlansList.spec.ts"],"names":[],"mappings":"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"}
@@ -60,5 +60,47 @@ describe('structureScore', () => {
60
60
  const result = structureScore([{ structure: 'customer-structure', constraint: 'required' }], participant({ user: { structures: [definition('customer-structure', 's-string-9')], 's-string-9': 'x' } }));
61
61
  expect(result).toEqual({ state: 'fulfilled', score: 0, matched: 1, total: 1 });
62
62
  });
63
+ describe.each(['participant', 'customer'])('select answers on the %s', (source) => {
64
+ it.each([
65
+ { answer: ['s-yes'], score: 2, matched: 1 },
66
+ { answer: ['s-no'], score: -2, matched: 1 },
67
+ { answer: ['s-yes', 's-no'], score: 0, matched: 2 },
68
+ { answer: [], score: 0, matched: 0 },
69
+ { answer: undefined, score: 0, matched: 0 },
70
+ { answer: 's-yes', score: 2, matched: 1 },
71
+ { answer: 's-no', score: -2, matched: 1 },
72
+ ])('scores $answer as $score', ({ answer, score, matched }) => {
73
+ const answers = {
74
+ structures: [{ ...definition('selection', 's-select-4'), type: 'select', multiple: Array.isArray(answer) }],
75
+ 's-select-4': answer,
76
+ };
77
+ const result = structureScore([
78
+ { structure: 'selection', value: 's-yes', grade: 'very-positive' },
79
+ { structure: 'selection', value: 's-no', grade: 'very-negative' },
80
+ ], source === 'participant' ? participant(answers) : participant({ user: answers }));
81
+ expect(result).toEqual({ state: 'fulfilled', score, matched, total: 2 });
82
+ });
83
+ it.each([
84
+ { constraint: 'required', answer: ['s-yes'], state: 'fulfilled', matched: 1 },
85
+ { constraint: 'required', answer: ['s-no'], state: 'unfit', matched: 0 },
86
+ { constraint: 'required', answer: [], state: 'unfit', matched: 0 },
87
+ { constraint: 'forbidden', answer: ['s-yes'], state: 'unfit', matched: 1 },
88
+ { constraint: 'forbidden', answer: ['s-no'], state: 'fulfilled', matched: 0 },
89
+ { constraint: 'forbidden', answer: [], state: 'fulfilled', matched: 0 },
90
+ ])('checks $constraint against $answer', ({ constraint, answer, state, matched }) => {
91
+ const answers = {
92
+ structures: [{ ...definition('selection', 's-select-4'), type: 'select', multiple: true }],
93
+ 's-select-4': answer,
94
+ };
95
+ const result = structureScore([
96
+ { structure: 'selection', value: 's-yes', constraint },
97
+ ], source === 'participant' ? participant(answers) : participant({ user: answers }));
98
+ expect(result).toEqual({ state, score: 0, matched, total: 1 });
99
+ });
100
+ });
101
+ it('does not apply select membership matching to other structure types', () => {
102
+ const result = structureScore([{ structure: 'text', value: 's-yes', grade: 'very-positive' }], participant({ structures: [definition('text', 's-string-1')], 's-string-1': ['s-yes'] }));
103
+ expect(result).toEqual({ state: 'fulfilled', score: 0, matched: 0, total: 1 });
104
+ });
63
105
  });
64
106
  //# sourceMappingURL=structureMatch.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"structureMatch.spec.js","sourceRoot":"","sources":["../../tests/structureMatch.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"structureMatch.spec.js","sourceRoot":"","sources":["../../tests/structureMatch.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lilaquadrat/studio",
3
- "version": "12.2.0",
3
+ "version": "13.0.0",
4
4
  "description": "classes and tools for STUDIO",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -118,7 +118,7 @@
118
118
  },
119
119
  "dependencies": {
120
120
  "@google/genai": "^1.42.0",
121
- "@lilaquadrat/interfaces": "^1.54.0",
121
+ "@lilaquadrat/interfaces": "^1.56.0",
122
122
  "@lilaquadrat/storage-sdk": "^0.1.15",
123
123
  "@nats-io/jetstream": "^3.2.0",
124
124
  "@nats-io/transport-node": "^3.2.0",