directus

Форк
0
/
get-auth-providers.test.ts 
73 строки · 1.4 Кб
1
import { useEnv } from '@directus/env';
2
import { describe, expect, test, vi } from 'vitest';
3
import { getAuthProviders } from './get-auth-providers.js';
4

5
vi.mock('@directus/env');
6

7
const scenarios = [
8
	{
9
		name: 'when no providers configured',
10
		input: {},
11
		output: [],
12
	},
13
	{
14
		name: 'when no driver configured',
15
		input: {
16
			AUTH_PROVIDERS: 'directus',
17
		},
18
		output: [],
19
	},
20

21
	{
22
		name: 'when single provider and driver are properly configured',
23
		input: {
24
			AUTH_PROVIDERS: 'directus',
25
			AUTH_DIRECTUS_DRIVER: 'openid',
26
			AUTH_DIRECTUS_LABEL: 'Directus',
27
			AUTH_DIRECTUS_ICON: 'hare',
28
		},
29
		output: [
30
			{
31
				name: 'directus',
32
				driver: 'openid',
33
				label: 'Directus',
34
				icon: 'hare',
35
			},
36
		],
37
	},
38

39
	{
40
		name: 'when multiple provider and driver are properly configured',
41
		input: {
42
			AUTH_PROVIDERS: 'directus,custom',
43
			AUTH_DIRECTUS_DRIVER: 'openid',
44
			AUTH_DIRECTUS_LABEL: 'Directus',
45
			AUTH_DIRECTUS_ICON: 'hare',
46
			AUTH_CUSTOM_DRIVER: 'openid',
47
			AUTH_CUSTOM_ICON: 'lock',
48
		},
49
		output: [
50
			{
51
				name: 'directus',
52
				driver: 'openid',
53
				label: 'Directus',
54
				icon: 'hare',
55
			},
56
			{
57
				name: 'custom',
58
				driver: 'openid',
59
				icon: 'lock',
60
			},
61
		],
62
	},
63
];
64

65
describe('get auth providers', () => {
66
	for (const scenario of scenarios) {
67
		test(scenario.name, () => {
68
			vi.mocked(useEnv).mockReturnValue(scenario.input);
69

70
			expect(getAuthProviders()).toEqual(scenario.output);
71
		});
72
	}
73
});
74

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.