Submit
Path:
~
/
/
usr
/
share
/
grafana
/
public
/
app
/
features
/
api-keys
/
state
/
File Content:
selectors.test.ts
import { ApiKeysState } from 'app/types'; import { getMultipleMockKeys } from '../__mocks__/apiKeysMock'; import { getApiKeys, getApiKeysCount, getIncludeExpired, getIncludeExpiredDisabled } from './selectors'; describe('API Keys selectors', () => { const mockKeys = getMultipleMockKeys(5); const mockKeysIncludingExpired = getMultipleMockKeys(8); describe('getApiKeysCount', () => { it('returns the correct count when includeExpired is false', () => { const mockState: ApiKeysState = { keys: mockKeys, keysIncludingExpired: mockKeysIncludingExpired, searchQuery: '', hasFetched: true, includeExpired: false, }; const keyCount = getApiKeysCount(mockState); expect(keyCount).toBe(5); }); it('returns the correct count when includeExpired is true', () => { const mockState: ApiKeysState = { keys: mockKeys, keysIncludingExpired: mockKeysIncludingExpired, searchQuery: '', hasFetched: true, includeExpired: true, }; const keyCount = getApiKeysCount(mockState); expect(keyCount).toBe(8); }); }); describe('getApiKeys', () => { describe('when includeExpired is false', () => { it('should return all keys if no search query', () => { const mockState: ApiKeysState = { keys: mockKeys, keysIncludingExpired: mockKeysIncludingExpired, searchQuery: '', hasFetched: true, includeExpired: false, }; const keys = getApiKeys(mockState); expect(keys).toEqual(mockKeys); }); it('should filter keys if search query exists', () => { const mockState: ApiKeysState = { keys: mockKeys, keysIncludingExpired: mockKeysIncludingExpired, searchQuery: '5', hasFetched: true, includeExpired: false, }; const keys = getApiKeys(mockState); expect(keys.length).toEqual(1); }); }); describe('when includeExpired is true', () => { it('should return all keys if no search query', () => { const mockState: ApiKeysState = { keys: mockKeys, keysIncludingExpired: mockKeysIncludingExpired, searchQuery: '', hasFetched: true, includeExpired: true, }; const keys = getApiKeys(mockState); expect(keys).toEqual(mockKeysIncludingExpired); }); it('should filter keys if search query exists', () => { const mockState: ApiKeysState = { keys: mockKeys, keysIncludingExpired: mockKeysIncludingExpired, searchQuery: '5', hasFetched: true, includeExpired: true, }; const keys = getApiKeys(mockState); expect(keys.length).toEqual(1); }); }); }); describe('getIncludeExpired', () => { it('returns true if includeExpired is true', () => { const mockState: ApiKeysState = { keys: mockKeys, keysIncludingExpired: mockKeysIncludingExpired, searchQuery: '', hasFetched: true, includeExpired: true, }; const includeExpired = getIncludeExpired(mockState); expect(includeExpired).toBe(true); }); it('returns false if includeExpired is false', () => { const mockState: ApiKeysState = { keys: mockKeys, keysIncludingExpired: mockKeysIncludingExpired, searchQuery: '', hasFetched: true, includeExpired: false, }; const includeExpired = getIncludeExpired(mockState); expect(includeExpired).toBe(false); }); }); describe('getIncludeExpiredDisabled', () => { it('returns true if there are no active keys but there are expired keys', () => { const mockState: ApiKeysState = { keys: [], keysIncludingExpired: mockKeysIncludingExpired, searchQuery: '', hasFetched: true, includeExpired: true, }; const includeExpiredDisabled = getIncludeExpiredDisabled(mockState); expect(includeExpiredDisabled).toBe(true); }); it('returns false otherwise', () => { const mockState: ApiKeysState = { keys: mockKeys, keysIncludingExpired: mockKeysIncludingExpired, searchQuery: '', hasFetched: true, includeExpired: false, }; const includeExpiredDisabled = getIncludeExpired(mockState); expect(includeExpiredDisabled).toBe(false); }); }); });
Submit
FILE
FOLDER
INFO
Name
Size
Permission
Action
actions.ts
1475 bytes
0644
reducers.test.ts
1768 bytes
0644
reducers.ts
1569 bytes
0644
selectors.test.ts
4518 bytes
0644
selectors.ts
694 bytes
0644
N4ST4R_ID | Naxtarrr