@webitel/api-services 26.8.67 → 26.8.68
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.
package/package.json
CHANGED
|
@@ -3,12 +3,14 @@ import { beforeEach, describe, expect, it, vi } from 'vitest';
|
|
|
3
3
|
const searchMemberInQueue = vi.fn();
|
|
4
4
|
const resetMembersCount = vi.fn();
|
|
5
5
|
const resetMembers = vi.fn();
|
|
6
|
+
const searchMemberCommunication = vi.fn();
|
|
6
7
|
|
|
7
8
|
vi.mock('../../../../gen-wire', () => ({
|
|
8
9
|
getMemberService: () => ({
|
|
9
10
|
searchMemberInQueue,
|
|
10
11
|
resetMembersCount,
|
|
11
12
|
resetMembers,
|
|
13
|
+
searchMemberCommunication,
|
|
12
14
|
}),
|
|
13
15
|
}));
|
|
14
16
|
|
|
@@ -173,3 +175,68 @@ describe('QueueMembersAPI.getQuantity', () => {
|
|
|
173
175
|
).resolves.toBe(0);
|
|
174
176
|
});
|
|
175
177
|
});
|
|
178
|
+
|
|
179
|
+
describe('QueueMembersAPI.getCommunications', () => {
|
|
180
|
+
beforeEach(() => {
|
|
181
|
+
searchMemberCommunication.mockReset().mockResolvedValue({
|
|
182
|
+
data: {
|
|
183
|
+
items: [
|
|
184
|
+
{
|
|
185
|
+
id: '1',
|
|
186
|
+
destination: '380',
|
|
187
|
+
},
|
|
188
|
+
],
|
|
189
|
+
next: true,
|
|
190
|
+
},
|
|
191
|
+
});
|
|
192
|
+
});
|
|
193
|
+
|
|
194
|
+
it('requests one member of one queue with the sort and page', async () => {
|
|
195
|
+
await QueueMembersAPI.getCommunications({
|
|
196
|
+
parentId: 7,
|
|
197
|
+
memberId: 42,
|
|
198
|
+
page: 2,
|
|
199
|
+
size: 20,
|
|
200
|
+
sort: '-priority',
|
|
201
|
+
});
|
|
202
|
+
|
|
203
|
+
expect(searchMemberCommunication).toHaveBeenCalledWith('7', '42', {
|
|
204
|
+
page: 2,
|
|
205
|
+
size: 20,
|
|
206
|
+
sort: '-priority',
|
|
207
|
+
fields: undefined,
|
|
208
|
+
});
|
|
209
|
+
});
|
|
210
|
+
|
|
211
|
+
it('returns the items with the next flag', async () => {
|
|
212
|
+
const { items, next } = await QueueMembersAPI.getCommunications({
|
|
213
|
+
parentId: 7,
|
|
214
|
+
memberId: 42,
|
|
215
|
+
});
|
|
216
|
+
|
|
217
|
+
expect(items).toEqual([
|
|
218
|
+
{
|
|
219
|
+
id: '1',
|
|
220
|
+
destination: '380',
|
|
221
|
+
},
|
|
222
|
+
]);
|
|
223
|
+
expect(next).toBe(true);
|
|
224
|
+
});
|
|
225
|
+
|
|
226
|
+
/** an empty list comes back as `{}` */
|
|
227
|
+
it('defaults to an empty last page', async () => {
|
|
228
|
+
searchMemberCommunication.mockResolvedValue({
|
|
229
|
+
data: {},
|
|
230
|
+
});
|
|
231
|
+
|
|
232
|
+
await expect(
|
|
233
|
+
QueueMembersAPI.getCommunications({
|
|
234
|
+
parentId: 7,
|
|
235
|
+
memberId: 42,
|
|
236
|
+
}),
|
|
237
|
+
).resolves.toEqual({
|
|
238
|
+
items: [],
|
|
239
|
+
next: false,
|
|
240
|
+
});
|
|
241
|
+
});
|
|
242
|
+
});
|
|
@@ -183,6 +183,43 @@ const getMembersList = async (params: ApiParams) => {
|
|
|
183
183
|
}
|
|
184
184
|
};
|
|
185
185
|
|
|
186
|
+
const getMemberCommunications = async ({
|
|
187
|
+
parentId,
|
|
188
|
+
memberId,
|
|
189
|
+
page,
|
|
190
|
+
size,
|
|
191
|
+
sort,
|
|
192
|
+
fields,
|
|
193
|
+
}: ApiParams & {
|
|
194
|
+
parentId: ApiId;
|
|
195
|
+
memberId: ApiId;
|
|
196
|
+
}) => {
|
|
197
|
+
try {
|
|
198
|
+
const response = await getMemberService().searchMemberCommunication(
|
|
199
|
+
String(parentId),
|
|
200
|
+
String(memberId),
|
|
201
|
+
{
|
|
202
|
+
page,
|
|
203
|
+
size,
|
|
204
|
+
sort,
|
|
205
|
+
fields,
|
|
206
|
+
},
|
|
207
|
+
);
|
|
208
|
+
const { items, next } = applyTransform(response.data, [
|
|
209
|
+
snakeToCamel(),
|
|
210
|
+
merge(getDefaultGetListResponse()),
|
|
211
|
+
]);
|
|
212
|
+
return {
|
|
213
|
+
items,
|
|
214
|
+
next,
|
|
215
|
+
};
|
|
216
|
+
} catch (err) {
|
|
217
|
+
throw applyTransform(err, [
|
|
218
|
+
notify,
|
|
219
|
+
]);
|
|
220
|
+
}
|
|
221
|
+
};
|
|
222
|
+
|
|
186
223
|
/**
|
|
187
224
|
* Streamed CSV/XLSX export of the current filter set. Returns the raw axios
|
|
188
225
|
* response with an unread Blob body — the caller passes it to the shared
|
|
@@ -518,6 +555,7 @@ const deleteMembersBulk = async ({
|
|
|
518
555
|
|
|
519
556
|
export const QueueMembersAPI = {
|
|
520
557
|
getList: getMembersList,
|
|
558
|
+
getCommunications: getMemberCommunications,
|
|
521
559
|
exportMembers,
|
|
522
560
|
getQuantity: getMembersQuantity,
|
|
523
561
|
get: getMember,
|