directus

Форк
0
/
should-clear-cache.test.ts 
62 строки · 2.2 Кб
1
import { useEnv } from '@directus/env';
2
import type Keyv from 'keyv';
3
import { afterEach, expect, test, vi } from 'vitest';
4
import type { MutationOptions } from '../types/items.js';
5
import { shouldClearCache } from './should-clear-cache.js';
6

7
vi.mock('@directus/env');
8

9
afterEach(() => {
10
	vi.clearAllMocks();
11
});
12

13
const mockedCache = {} as Keyv;
14
const mockedMutationOptions = {} as MutationOptions;
15

16
test('should return false when cache is not provided', () => {
17
	vi.mocked(useEnv).mockReturnValue({ CACHE_AUTO_PURGE: true });
18

19
	expect(shouldClearCache(null, mockedMutationOptions)).toBe(false);
20
});
21

22
test('should return true when cache is provided', () => {
23
	vi.mocked(useEnv).mockReturnValue({ CACHE_AUTO_PURGE: true });
24

25
	expect(shouldClearCache(mockedCache, mockedMutationOptions)).toBe(true);
26
});
27

28
test('should return false when CACHE_AUTO_PURGE is false', () => {
29
	vi.mocked(useEnv).mockReturnValue({ CACHE_AUTO_PURGE: false });
30

31
	expect(shouldClearCache(mockedCache, mockedMutationOptions)).toBe(false);
32
});
33

34
test('should return true when CACHE_AUTO_PURGE is true', () => {
35
	vi.mocked(useEnv).mockReturnValue({ CACHE_AUTO_PURGE: true });
36

37
	expect(shouldClearCache(mockedCache, mockedMutationOptions)).toBe(true);
38
});
39

40
test('should return false when MutationOptions.autoPurgeCache is false', () => {
41
	vi.mocked(useEnv).mockReturnValue({ CACHE_AUTO_PURGE: true });
42

43
	expect(shouldClearCache(mockedCache, { autoPurgeCache: false })).toBe(false);
44
});
45

46
test('should return true when MutationOptions.autoPurgeCache is not false', () => {
47
	vi.mocked(useEnv).mockReturnValue({ CACHE_AUTO_PURGE: true });
48

49
	expect(shouldClearCache(mockedCache, { autoPurgeCache: undefined })).toBe(true);
50
});
51

52
test('should return false when collection is provided and in ignore list', () => {
53
	vi.mocked(useEnv).mockReturnValue({ CACHE_AUTO_PURGE: true, CACHE_AUTO_PURGE_IGNORE_LIST: 'ignored' });
54

55
	expect(shouldClearCache(mockedCache, mockedMutationOptions, 'ignored')).toBe(false);
56
});
57

58
test('should return true when collection is provided and not in ignore list', () => {
59
	vi.mocked(useEnv).mockReturnValue({ CACHE_AUTO_PURGE: true, CACHE_AUTO_PURGE_IGNORE_LIST: 'ignored' });
60

61
	expect(shouldClearCache(mockedCache, mockedMutationOptions, 'not-ignored')).toBe(true);
62
});
63

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

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

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

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