@guanghechen/jest-helper v1.9.8
A collection of utility functions for jest tests.
Install
npm
npm install --save-dev @guanghechen/jest-helper
yarn
yarn add --dev @guanghechen/jest-helper
Usage
Desensitizers
StringDesensitizer
:(text: string, key?: string) => string
composeStringDesensitizers
: Compose multiple desensitizers into one.function composeStringDesensitizers( ...desensitizers: ReadonlyArray<StringDesensitizer> ): StringDesensitizer
createFilepathDesensitizer
: Create a StringDesensitizer to eliminate sensitive filepath data (Replace matched filepath with thereplaceString
).export function createFilepathDesensitizer( baseDir: string, replaceString = '<WORKSPACE>', ): StringDesensitizer
createPackageVersionDesensitizer
: Create a StringDesensitizer to eliminate volatile package versions.function createPackageVersionDesensitizer( nextVersion: (packageVersion: string, packageName: string) => string, testPackageName?: (packageName: string) => boolean, ): StringDesensitizer
nextVersion
: 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) => unknown
createJsonDesensitizer
: Create a desensitizer to eliminate sensitive json data.createJsonDesensitizer( valDesensitizers: { string?: StringDesensitizer number?: NumberDesensitizer fallback?: Desensitizer<unknown> }, keyDesensitizer?: StringDesensitizer, ): JsonDesensitizer
valDesensitizers
: Desensitizers for values ofobject
/array
or literalstring
andnumber
string
: Desensitizenumber
type value ofobject
/array
or literalstring
.number
: Desensitizenumber
type value ofobject
/array
or literalnumber
.number
: Desensitize other type value ofobject
/array
or 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 onconsole
export function createConsoleMock( methodNames?: ReadonlyArray<'debug' | 'log' | 'info' | 'warn' | 'error'> = ['debug', 'log', 'info', 'warn', 'error'], desensitize?: (args: unknown[]) => unknown[] ): ConsoleMock
Example:
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
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago