1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
import mockAxios from '../__mocks__/axios'
import { generateOcsUrl } from '@nextcloud/router'
import { searchPossibleConversations } from './conversationsService'
import { SHARE } from '../constants'
describe('conversationsService', () => {
afterEach(() => {
// cleaning up the mess left behind the previous test
mockAxios.reset()
})
/**
* @param token
* @param onlyUsers
* @param expectedShareTypes
*/
function testSearchPossibleConversations(token, onlyUsers, expectedShareTypes) {
searchPossibleConversations(
{
searchText: 'search-text',
token,
onlyUsers,
},
{
dummyOption: true,
}
)
expect(mockAxios.get).toHaveBeenCalledWith(
generateOcsUrl('core/autocomplete/get'),
{
dummyOption: true,
params: {
itemId: token,
itemType: 'call',
search: 'search-text',
shareTypes: expectedShareTypes,
},
}
)
}
test('searchPossibleConversations with only users', () => {
testSearchPossibleConversations(
'conversation-token',
true,
[
SHARE.TYPE.USER,
],
)
})
test('searchPossibleConversations with other share types', () => {
testSearchPossibleConversations(
'conversation-token',
false,
[
SHARE.TYPE.USER,
SHARE.TYPE.GROUP,
SHARE.TYPE.CIRCLE,
SHARE.TYPE.EMAIL,
],
)
})
test('searchPossibleConversations with other share types and a new token', () => {
testSearchPossibleConversations(
'new',
false,
[
SHARE.TYPE.USER,
SHARE.TYPE.GROUP,
SHARE.TYPE.CIRCLE,
],
)
})
})
|