테스트 폴더에 대해 알아보기 test-folder
이 샘플 앱의 test
폴더에는 응용 프로그램에서 단위 테스트를 실행할 때 사용되는 단일 JavaScript 파일이 포함되어 있습니다.
이는 간단한 예이며 특정 애플리케이션에 대한 포괄적인 테스트를 생성하도록 확장할 수 있습니다.
이 비디오는 누구의 것입니까?
- Adobe App Builder을 사용하여 경험이 제한된 Adobe Commerce을 처음 사용하는 개발자로서
test
폴더에 대해 학습하고자 하는 사람.
비디오 콘텐츠
test
폴더를 사용하는 이유- 단위 테스트 파일 및 해당 구성 요소에 대한 간단한 설명
- 엔드 투 엔드 테스트 소개
코드 샘플
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 - 첫 번째 앱 관련 페이지 작성
recommendation-more-help
3a5f7e19-f383-4af8-8983-d01154c1402f