Skip to content

Commit e19ed3f

Browse files
committed
test: add back-compatible coverage for header constants
- Assert deprecated `*_HEADER` exports exist and mirror `HeaderKeys.*` - Add checks for critical VTEX headers and expected string values
1 parent df90b86 commit e19ed3f

File tree

1 file changed

+111
-1
lines changed

1 file changed

+111
-1
lines changed

src/constants.test.ts

Lines changed: 111 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,36 @@ import {
2020
PRODUCTION,
2121
INSPECT_DEBUGGER_PORT,
2222
cancellableMethods,
23-
LOG_CLIENT_INIT_TIMEOUT_MS
23+
LOG_CLIENT_INIT_TIMEOUT_MS,
24+
// Backward-compatible individual header constants
25+
CACHE_CONTROL_HEADER,
26+
SEGMENT_HEADER,
27+
SESSION_HEADER,
28+
PRODUCT_HEADER,
29+
LOCALE_HEADER,
30+
FORWARDED_HOST_HEADER,
31+
TENANT_HEADER,
32+
BINDING_HEADER,
33+
META_HEADER,
34+
META_HEADER_BUCKET,
35+
ETAG_HEADER,
36+
ACCOUNT_HEADER,
37+
CREDENTIAL_HEADER,
38+
REQUEST_ID_HEADER,
39+
ROUTER_CACHE_HEADER,
40+
OPERATION_ID_HEADER,
41+
PLATFORM_HEADER,
42+
WORKSPACE_IS_PRODUCTION_HEADER,
43+
WORKSPACE_HEADER,
44+
EVENT_KEY_HEADER,
45+
EVENT_SENDER_HEADER,
46+
EVENT_SUBJECT_HEADER,
47+
EVENT_HANDLER_ID_HEADER,
48+
COLOSSUS_ROUTE_DECLARER_HEADER,
49+
COLOSSUS_ROUTE_ID_HEADER,
50+
COLOSSUS_PARAMS_HEADER,
51+
TRACE_ID_HEADER,
52+
PROVIDER_HEADER
2453
} from './constants'
2554

2655
describe('constants', () => {
@@ -426,5 +455,86 @@ describe('constants', () => {
426455
expect(APP).toHaveProperty(prop)
427456
})
428457
})
458+
459+
describe('Individual header constants (deprecated)', () => {
460+
test('all individual header constants should be defined', () => {
461+
expect(CACHE_CONTROL_HEADER).toBeDefined()
462+
expect(SEGMENT_HEADER).toBeDefined()
463+
expect(SESSION_HEADER).toBeDefined()
464+
expect(PRODUCT_HEADER).toBeDefined()
465+
expect(LOCALE_HEADER).toBeDefined()
466+
expect(FORWARDED_HOST_HEADER).toBeDefined()
467+
expect(TENANT_HEADER).toBeDefined()
468+
expect(BINDING_HEADER).toBeDefined()
469+
expect(META_HEADER).toBeDefined()
470+
expect(META_HEADER_BUCKET).toBeDefined()
471+
expect(ETAG_HEADER).toBeDefined()
472+
expect(ACCOUNT_HEADER).toBeDefined()
473+
expect(CREDENTIAL_HEADER).toBeDefined()
474+
expect(REQUEST_ID_HEADER).toBeDefined()
475+
expect(ROUTER_CACHE_HEADER).toBeDefined()
476+
expect(OPERATION_ID_HEADER).toBeDefined()
477+
expect(PLATFORM_HEADER).toBeDefined()
478+
expect(WORKSPACE_IS_PRODUCTION_HEADER).toBeDefined()
479+
expect(WORKSPACE_HEADER).toBeDefined()
480+
expect(EVENT_KEY_HEADER).toBeDefined()
481+
expect(EVENT_SENDER_HEADER).toBeDefined()
482+
expect(EVENT_SUBJECT_HEADER).toBeDefined()
483+
expect(EVENT_HANDLER_ID_HEADER).toBeDefined()
484+
expect(COLOSSUS_ROUTE_DECLARER_HEADER).toBeDefined()
485+
expect(COLOSSUS_ROUTE_ID_HEADER).toBeDefined()
486+
expect(COLOSSUS_PARAMS_HEADER).toBeDefined()
487+
expect(TRACE_ID_HEADER).toBeDefined()
488+
expect(PROVIDER_HEADER).toBeDefined()
489+
})
490+
491+
test('individual constants should equal HeaderKeys values', () => {
492+
expect(CACHE_CONTROL_HEADER).toBe(HeaderKeys.CACHE_CONTROL)
493+
expect(SEGMENT_HEADER).toBe(HeaderKeys.SEGMENT)
494+
expect(SESSION_HEADER).toBe(HeaderKeys.SESSION)
495+
expect(PRODUCT_HEADER).toBe(HeaderKeys.PRODUCT)
496+
expect(LOCALE_HEADER).toBe(HeaderKeys.LOCALE)
497+
expect(FORWARDED_HOST_HEADER).toBe(HeaderKeys.FORWARDED_HOST)
498+
expect(TENANT_HEADER).toBe(HeaderKeys.TENANT)
499+
expect(BINDING_HEADER).toBe(HeaderKeys.BINDING)
500+
expect(META_HEADER).toBe(HeaderKeys.META)
501+
expect(META_HEADER_BUCKET).toBe(HeaderKeys.META_BUCKET)
502+
expect(ETAG_HEADER).toBe(HeaderKeys.ETAG)
503+
expect(ACCOUNT_HEADER).toBe(HeaderKeys.ACCOUNT)
504+
expect(CREDENTIAL_HEADER).toBe(HeaderKeys.CREDENTIAL)
505+
expect(REQUEST_ID_HEADER).toBe(HeaderKeys.REQUEST_ID)
506+
expect(ROUTER_CACHE_HEADER).toBe(HeaderKeys.ROUTER_CACHE)
507+
expect(OPERATION_ID_HEADER).toBe(HeaderKeys.OPERATION_ID)
508+
expect(PLATFORM_HEADER).toBe(HeaderKeys.PLATFORM)
509+
expect(WORKSPACE_IS_PRODUCTION_HEADER).toBe(HeaderKeys.WORKSPACE_IS_PRODUCTION)
510+
expect(WORKSPACE_HEADER).toBe(HeaderKeys.WORKSPACE)
511+
expect(EVENT_KEY_HEADER).toBe(HeaderKeys.EVENT_KEY)
512+
expect(EVENT_SENDER_HEADER).toBe(HeaderKeys.EVENT_SENDER)
513+
expect(EVENT_SUBJECT_HEADER).toBe(HeaderKeys.EVENT_SUBJECT)
514+
expect(EVENT_HANDLER_ID_HEADER).toBe(HeaderKeys.EVENT_HANDLER_ID)
515+
expect(COLOSSUS_ROUTE_DECLARER_HEADER).toBe(HeaderKeys.COLOSSUS_ROUTE_DECLARER)
516+
expect(COLOSSUS_ROUTE_ID_HEADER).toBe(HeaderKeys.COLOSSUS_ROUTE_ID)
517+
expect(COLOSSUS_PARAMS_HEADER).toBe(HeaderKeys.COLOSSUS_PARAMS)
518+
expect(TRACE_ID_HEADER).toBe(HeaderKeys.TRACE_ID)
519+
expect(PROVIDER_HEADER).toBe(HeaderKeys.PROVIDER)
520+
})
521+
522+
test('critical individual constants should have expected string values', () => {
523+
expect(TENANT_HEADER).toBe('x-vtex-tenant')
524+
expect(BINDING_HEADER).toBe('x-vtex-binding')
525+
expect(LOCALE_HEADER).toBe('x-vtex-locale')
526+
expect(SEGMENT_HEADER).toBe('x-vtex-segment')
527+
expect(SESSION_HEADER).toBe('x-vtex-session')
528+
expect(ACCOUNT_HEADER).toBe('x-vtex-account')
529+
expect(WORKSPACE_HEADER).toBe('x-vtex-workspace')
530+
})
531+
532+
test('individual constants should be strings', () => {
533+
expect(typeof TENANT_HEADER).toBe('string')
534+
expect(typeof BINDING_HEADER).toBe('string')
535+
expect(typeof LOCALE_HEADER).toBe('string')
536+
expect(typeof SEGMENT_HEADER).toBe('string')
537+
})
538+
})
429539
})
430540
})

0 commit comments

Comments
 (0)