1
1
import { expect } from 'chai' ;
2
- import { before , describe , it } from 'mocha' ;
2
+ import { after , before , describe , it } from 'mocha' ;
3
3
4
4
import { sleep } from '../../../../lib/utils/sleep' ;
5
5
import { getCredentials , api , request , credentials } from '../../../data/api-data' ;
6
6
import { createCustomField , deleteCustomField } from '../../../data/livechat/custom-fields' ;
7
7
import { addOrRemoveAgentFromDepartment , createDepartmentWithAnOnlineAgent } from '../../../data/livechat/department' ;
8
- import { createVisitor , createLivechatRoom , makeAgentUnavailable , closeOmnichannelRoom , sendMessage } from '../../../data/livechat/rooms' ;
8
+ import {
9
+ createVisitor ,
10
+ createLivechatRoom ,
11
+ makeAgentUnavailable ,
12
+ closeOmnichannelRoom ,
13
+ sendMessage ,
14
+ deleteVisitor ,
15
+ } from '../../../data/livechat/rooms' ;
9
16
import { createBotAgent , getRandomVisitorToken } from '../../../data/livechat/users' ;
10
17
import { removePermissionFromAllRoles , restorePermissionToRoles , updatePermission , updateSetting } from '../../../data/permissions.helper' ;
11
18
import { IS_EE } from '../../../e2e/config/constants' ;
@@ -15,8 +22,9 @@ describe('LIVECHAT - Utils', function () {
15
22
16
23
before ( ( done ) => getCredentials ( done ) ) ;
17
24
18
- before ( async ( ) => {
25
+ after ( async ( ) => {
19
26
await updateSetting ( 'Livechat_enabled' , true ) ;
27
+ await updateSetting ( 'Livechat_offline_email' , '' ) ;
20
28
} ) ;
21
29
22
30
describe ( 'livechat/offline.message' , ( ) => {
@@ -453,6 +461,38 @@ describe('LIVECHAT - Utils', function () {
453
461
expect ( body ) . to . have . property ( 'token' , visitor . token ) ;
454
462
} ) ;
455
463
} ) ;
464
+ describe ( 'livechat/visitors.search' , ( ) => {
465
+ it ( 'should bring sorted data by last chat time' , async ( ) => {
466
+ const visitor1 = await createVisitor ( undefined , 'VisitorInPast' ) ;
467
+ const room1 = await createLivechatRoom ( visitor1 . token ) ;
468
+
469
+ const visitor2 = await createVisitor ( undefined , 'VisitorInPresent' ) ;
470
+ const room2 = await createLivechatRoom ( visitor2 . token ) ;
471
+
472
+ const { body : result1 } = await request
473
+ . get ( api ( 'livechat/visitors.search?term=VisitorIn&sort={"lastChat.ts":1}' ) )
474
+ . set ( credentials )
475
+ . send ( ) ;
476
+
477
+ expect ( result1 ) . to . have . property ( 'visitors' ) . that . is . an ( 'array' ) ;
478
+ expect ( result1 . visitors [ 0 ] ) . to . have . property ( 'name' ) ;
479
+ expect ( result1 . visitors [ 0 ] . name ) . to . be . eq ( 'VisitorInPast' ) ;
480
+
481
+ const { body : result2 } = await request
482
+ . get ( api ( 'livechat/visitors.search?term=VisitorIn&sort={"lastChat.ts":-1}' ) )
483
+ . set ( credentials )
484
+ . send ( ) ;
485
+
486
+ expect ( result2 ) . to . have . property ( 'visitors' ) . that . is . an ( 'array' ) ;
487
+ expect ( result2 . visitors [ 0 ] ) . to . have . property ( 'name' ) ;
488
+ expect ( result2 . visitors [ 0 ] . name ) . to . be . eq ( 'VisitorInPresent' ) ;
489
+
490
+ await closeOmnichannelRoom ( room1 . _id ) ;
491
+ await closeOmnichannelRoom ( room2 . _id ) ;
492
+ await deleteVisitor ( visitor1 . token ) ;
493
+ await deleteVisitor ( visitor2 . token ) ;
494
+ } ) ;
495
+ } ) ;
456
496
457
497
describe ( 'livechat/message' , ( ) => {
458
498
it ( 'should fail if no token' , async ( ) => {
0 commit comments