directus

Форк
0
/
use-redis.test.ts 
38 строк · 952.0 Байт
1
import { useEnv } from '@directus/env';
2
import { Redis } from 'ioredis';
3
import { afterEach, beforeEach, describe, expect, test, vi } from 'vitest';
4
import { getConfigFromEnv } from '../../utils/get-config-from-env.js';
5
import { _cache, useRedis } from './use-redis.js';
6

7
vi.mock('ioredis');
8
vi.mock('../../utils/get-config-from-env.js');
9
vi.mock('@directus/env');
10

11
let mockRedis: Redis;
12

13
beforeEach(() => {
14
	mockRedis = new Redis();
15
	vi.mocked(Redis).mockReturnValue(mockRedis);
16
	vi.mocked(useEnv).mockReturnValue({});
17
});
18

19
afterEach(() => {
20
	_cache.redis = undefined;
21
});
22

23
describe('useRedis', () => {
24
	test('Returns cached redis connection if exists', () => {
25
		_cache.redis = mockRedis;
26

27
		const redis = useRedis();
28

29
		expect(redis).toBe(mockRedis);
30
		expect(getConfigFromEnv).not.toHaveBeenCalled();
31
	});
32

33
	test('Creates new Redis instance with string env if exists', () => {
34
		const redis = useRedis();
35

36
		expect(redis).toBe(mockRedis);
37
	});
38
});
39

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

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

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

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