The communications platform that puts data protection first.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Rocket.Chat/apps/meteor/client/views/audit/hooks/useSettingSelectOptions.spe...

78 lines
4.5 KiB

import { mockAppRoot } from '@rocket.chat/mock-providers';
import { renderHook, waitFor } from '@testing-library/react';
import { useSettingSelectOptions } from './useSettingSelectOptions';
// TODO: check if the return of items matches the settings we mocked
describe('useSettingSelectOptions', () => {
it('should return the ordered list of options', async () => {
const { result } = renderHook(() => useSettingSelectOptions(), {
wrapper: mockAppRoot()
.withSetting('test1', true)
.withSetting('test2', true)
.withSetting('test3', true)
.withSetting('test4', true)
.withSetting('test5', true)
.withSetting('test6', true)
.withSetting('test7', true)
.withSetting('test8', true)
.withSetting('test9', true)
.withSetting('test10', true)
.withSetting('test11', true)
.withSetting('test12', true)
.withSetting('test13', true)
.withSetting('test14', true)
.withSetting('test15', true)
.build(),
});
await waitFor(() => expect(result.current?.data?.pages[0][0]).toEqual({ _id: 'test1', label: 'test1', value: 'test1' }));
await waitFor(() => expect(result.current?.data?.pages[0][1]).toEqual({ _id: 'test2', label: 'test2', value: 'test2' }));
await waitFor(() => expect(result.current?.data?.pages[0][2]).toEqual({ _id: 'test3', label: 'test3', value: 'test3' }));
await waitFor(() => expect(result.current?.data?.pages[0][3]).toEqual({ _id: 'test4', label: 'test4', value: 'test4' }));
await waitFor(() => expect(result.current?.data?.pages[0][4]).toEqual({ _id: 'test5', label: 'test5', value: 'test5' }));
await waitFor(() => expect(result.current?.data?.pages[0][5]).toEqual({ _id: 'test6', label: 'test6', value: 'test6' }));
await waitFor(() => expect(result.current?.data?.pages[0][6]).toEqual({ _id: 'test7', label: 'test7', value: 'test7' }));
await waitFor(() => expect(result.current?.data?.pages[0][7]).toEqual({ _id: 'test8', label: 'test8', value: 'test8' }));
await waitFor(() => expect(result.current?.data?.pages[0][8]).toEqual({ _id: 'test9', label: 'test9', value: 'test9' }));
await waitFor(() => expect(result.current?.data?.pages[0][9]).toEqual({ _id: 'test10', label: 'test10', value: 'test10' }));
await waitFor(() => expect(result.current?.data?.pages[0][10]).toEqual({ _id: 'test11', label: 'test11', value: 'test11' }));
await waitFor(() => expect(result.current?.data?.pages[0][11]).toEqual({ _id: 'test12', label: 'test12', value: 'test12' }));
await waitFor(() => expect(result.current?.data?.pages[0][12]).toEqual({ _id: 'test13', label: 'test13', value: 'test13' }));
await waitFor(() => expect(result.current?.data?.pages[0][13]).toEqual({ _id: 'test14', label: 'test14', value: 'test14' }));
await waitFor(() => expect(result.current?.data?.pages[0][14]).toEqual({ _id: 'test15', label: 'test15', value: 'test15' }));
await waitFor(() => expect(result.current?.data?.pages[0]).toHaveLength(15));
});
it('should return the list of filtered options', async () => {
const { result } = renderHook(() => useSettingSelectOptions('TeSt1'), {
wrapper: mockAppRoot()
.withSetting('test1', true)
.withSetting('test2', true)
.withSetting('test3', true)
.withSetting('test4', true)
.withSetting('test5', true)
.withSetting('test6', true)
.withSetting('test7', true)
.withSetting('test8', true)
.withSetting('test9', true)
.withSetting('test10', true)
.withSetting('test11', true)
.withSetting('test12', true)
.withSetting('test13', true)
.withSetting('test14', true)
.withSetting('test15', true)
.build(),
});
await waitFor(() => expect(result.current?.data?.pages[0][0]).toEqual({ _id: 'test1', label: 'test1', value: 'test1' }));
await waitFor(() => expect(result.current?.data?.pages[0][1]).toEqual({ _id: 'test10', label: 'test10', value: 'test10' }));
await waitFor(() => expect(result.current?.data?.pages[0][2]).toEqual({ _id: 'test11', label: 'test11', value: 'test11' }));
await waitFor(() => expect(result.current?.data?.pages[0][3]).toEqual({ _id: 'test12', label: 'test12', value: 'test12' }));
await waitFor(() => expect(result.current?.data?.pages[0][4]).toEqual({ _id: 'test13', label: 'test13', value: 'test13' }));
await waitFor(() => expect(result.current?.data?.pages[0][5]).toEqual({ _id: 'test14', label: 'test14', value: 'test14' }));
await waitFor(() => expect(result.current?.data?.pages[0][6]).toEqual({ _id: 'test15', label: 'test15', value: 'test15' }));
await waitFor(() => expect(result.current?.data?.pages[0]).toHaveLength(7));
});
});