En savoir plus sur le dossier test test-folder
Le dossier test de cet exemple d’application contient un seul fichier JavaScript, qui est utilisé lors de l’exécution de tests unitaires sur l’application.
Ce point de départ peut être développé afin de créer des tests complets pour vos applications spécifiques.
À qui s’adresse cette vidéo ?
- Développeurs peu familiers avec Adobe Commerce et utilisant Adobe App Builder, qui souhaitent en savoir plus sur le dossier
test.
Contenu vidéo
- Pourquoi utiliser le dossier
test? - Brève explication du fichier de test unitaire et de ses composants
- Présentation des tests de bout en bout
Exemples de code
test/utils.test.js
/*
* <license header>
*/
const utils = require('./../actions/utils.js')
test('interface', () => {
expect(typeof utils.errorResponse).toBe('function')
expect(typeof utils.stringParameters).toBe('function')
expect(typeof utils.checkMissingRequestInputs).toBe('function')
expect(typeof utils.getBearerToken).toBe('function')
})
describe('errorResponse', () => {
test('(400, errorMessage)', () => {
const res = utils.errorResponse(400, 'errorMessage')
expect(res).toEqual({
error: {
statusCode: 400,
body: { error: 'errorMessage' }
}
})
})
test('(400, errorMessage, logger)', () => {
const logger = {
info: jest.fn()
}
const res = utils.errorResponse(400, 'errorMessage', logger)
expect(logger.info).toHaveBeenCalledWith('400: errorMessage')
expect(res).toEqual({
error: {
statusCode: 400,
body: { error: 'errorMessage' }
}
})
})
})
describe('stringParameters', () => {
test('no auth header', () => {
const params = {
a: 1, b: 2, __ow_headers: { 'x-api-key': 'fake-api-key' }
}
expect(utils.stringParameters(params)).toEqual(JSON.stringify(params))
})
test('with auth header', () => {
const params = {
a: 1, b: 2, __ow_headers: { 'x-api-key': 'fake-api-key', authorization: 'secret' }
}
expect(utils.stringParameters(params)).toEqual(expect.stringContaining('"authorization":"<hidden>"'))
expect(utils.stringParameters(params)).not.toEqual(expect.stringContaining('secret'))
})
})
describe('checkMissingRequestInputs', () => {
test('({ a: 1, b: 2 }, [a])', () => {
expect(utils.checkMissingRequestInputs({ a: 1, b: 2 }, ['a'])).toEqual(null)
})
test('({ a: 1 }, [a, b])', () => {
expect(utils.checkMissingRequestInputs({ a: 1 }, ['a', 'b'])).toEqual('missing parameter(s) \'b\'')
})
test('({ a: { b: { c: 1 } }, f: { g: 2 } }, [a.b.c, f.g.h.i])', () => {
expect(utils.checkMissingRequestInputs({ a: { b: { c: 1 } }, f: { g: 2 } }, ['a.b.c', 'f.g.h.i'])).toEqual('missing parameter(s) \'f.g.h.i\'')
})
test('({ a: { b: { c: 1 } }, f: { g: 2 } }, [a.b.c, f.g.h])', () => {
expect(utils.checkMissingRequestInputs({ a: { b: { c: 1 } }, f: { g: 2 } }, ['a.b.c', 'f'])).toEqual(null)
})
test('({ a: 1, __ow_headers: { h: 1, i: 2 } }, undefined, [h])', () => {
expect(utils.checkMissingRequestInputs({ a: 1, __ow_headers: { h: 1, i: 2 } }, undefined, ['h'])).toEqual(null)
})
test('({ a: 1, __ow_headers: { f: 2 } }, [a], [h, i])', () => {
expect(utils.checkMissingRequestInputs({ a: 1, __ow_headers: { f: 2 } }, ['a'], ['h', 'i'])).toEqual('missing header(s) \'h,i\'')
})
test('({ c: 1, __ow_headers: { f: 2 } }, [a, b], [h, i])', () => {
expect(utils.checkMissingRequestInputs({ c: 1 }, ['a', 'b'], ['h', 'i'])).toEqual('missing header(s) \'h,i\' and missing parameter(s) \'a,b\'')
})
test('({ a: 0 }, [a])', () => {
expect(utils.checkMissingRequestInputs({ a: 0 }, ['a'])).toEqual(null)
})
test('({ a: null }, [a])', () => {
expect(utils.checkMissingRequestInputs({ a: null }, ['a'])).toEqual(null)
})
test('({ a: \'\' }, [a])', () => {
expect(utils.checkMissingRequestInputs({ a: '' }, ['a'])).toEqual('missing parameter(s) \'a\'')
})
test('({ a: undefined }, [a])', () => {
expect(utils.checkMissingRequestInputs({ a: undefined }, ['a'])).toEqual('missing parameter(s) \'a\'')
})
})
describe('getBearerToken', () => {
test('({})', () => {
expect(utils.getBearerToken({})).toEqual(undefined)
})
test('({ authorization: Bearer fake, __ow_headers: {} })', () => {
expect(utils.getBearerToken({ authorization: 'Bearer fake', __ow_headers: {} })).toEqual(undefined)
})
test('({ authorization: Bearer fake, __ow_headers: { authorization: fake } })', () => {
expect(utils.getBearerToken({ authorization: 'Bearer fake', __ow_headers: { authorization: 'fake' } })).toEqual(undefined)
})
test('({ __ow_headers: { authorization: Bearerfake} })', () => {
expect(utils.getBearerToken({ __ow_headers: { authorization: 'Bearerfake' } })).toEqual(undefined)
})
test('({ __ow_headers: { authorization: Bearer fake} })', () => {
expect(utils.getBearerToken({ __ow_headers: { authorization: 'Bearer fake' } })).toEqual('fake')
})
test('({ __ow_headers: { authorization: Bearer fake Bearer fake} })', () => {
expect(utils.getBearerToken({ __ow_headers: { authorization: 'Bearer fake Bearer fake' } })).toEqual('fake Bearer fake')
})
})
App Builder - Premières pages liées à l’application
recommendation-more-help
commerce-learn-help-home