@guanghechen/jest-helper v1.9.8
A collection of utility functions for jest tests.
Install
npm
npm install --save-dev @guanghechen/jest-helperyarn
yarn add --dev @guanghechen/jest-helper
Usage
Desensitizers
StringDesensitizer:(text: string, key?: string) => stringcomposeStringDesensitizers: Compose multiple desensitizers into one.function composeStringDesensitizers( ...desensitizers: ReadonlyArray<StringDesensitizer> ): StringDesensitizercreateFilepathDesensitizer: Create a StringDesensitizer to eliminate sensitive filepath data (Replace matched filepath with thereplaceString).export function createFilepathDesensitizer( baseDir: string, replaceString = '<WORKSPACE>', ): StringDesensitizercreatePackageVersionDesensitizer: Create a StringDesensitizer to eliminate volatile package versions.function createPackageVersionDesensitizer( nextVersion: (packageVersion: string, packageName: string) => string, testPackageName?: (packageName: string) => boolean, ): StringDesensitizernextVersion: Determine the new version of the given{packageName}package.@param packageVersion: packageVersion (without prefix)@param packageName: packageName/([\^><~]=?)?/)@returns:
testPackageName: Test if the version should be change of the{packageName}package.@param packageName:
JsonDesensitizer:(json: unknown, key?: string) => unknowncreateJsonDesensitizer: Create a desensitizer to eliminate sensitive json data.createJsonDesensitizer( valDesensitizers: { string?: StringDesensitizer number?: NumberDesensitizer fallback?: Desensitizer<unknown> }, keyDesensitizer?: StringDesensitizer, ): JsonDesensitizervalDesensitizers: Desensitizers for values ofobject/arrayor literalstringandnumberstring: Desensitizenumbertype value ofobject/arrayor literalstring.number: Desensitizenumbertype value ofobject/arrayor literalnumber.number: Desensitize other type value ofobject/arrayor other literal primitive values.
keyDesensitizer: Desensitizer for keys of object
snapshots
fileSnapshot: Create snapshot for give filepaths.fileSnapshot( baseDir: string, filenames: string[], desensitize?: StringDesensitizer, encoding: BufferEncoding = 'utf-8', ): void
mocks
createConsoleMock: Create mock funcs onconsoleexport function createConsoleMock( methodNames?: ReadonlyArray<'debug' | 'log' | 'info' | 'warn' | 'error'> = ['debug', 'log', 'info', 'warn', 'error'], desensitize?: (args: unknown[]) => unknown[] ): ConsoleMockExample:
const mock = createConsoleMock() console.debug('debug waw1') console.log('log waw2') expect(mock.get('debug')).toEqual([['debug waw1']]) expect(mock.get('log')).toEqual([['log waw2']]) expect(mock.getIndiscriminateAll()).toEqual([['debug waw1'], ['log waw2']]) mock.reset() console.info('info waw3') console.error('error waw4') expect(mock.get('info')).toEqual([['info waw3']]) expect(mock.get('error')).toEqual([['error waw4']]) expect(mock.getIndiscriminateAll()).toEqual([['info waw3'], ['error waw4']]) mock.restore()
Related
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago