mirror of
https://github.com/supabase/supabase.git
synced 2026-05-08 01:40:13 -04:00
b23c6a7fed
## What kind of change does this PR introduce? Chore that references DEPR-394. ## What is the current behavior? Key/value editors for headers are implemented separately in multiple places. ## What is the new behavior? DEPR-394 is consolidating repeated RHF field-array UIs across Studio and the design system. - adds a shared `KeyValueFieldArray` component in `ui-patterns` - adds a shared `httpHeaderAddActions` helper for preset header rows - migrates the key/value header editors in: - Platform Webhooks - Cron Jobs HTTP headers - Database Webhooks HTTP headers - documents the key/value pattern in the design system with: - a dedicated fragment page - updated forms guidance - updated form pattern demos | Preview | | --- | | <img width="1102" height="420" alt="CleanShot 2026-03-23 at 12 22 18@2x" src="https://github.com/user-attachments/assets/f8d23ff9-7063-462f-8074-b400561f77e9" /> | ## Additional context This is PR 1 of a 3-PR stack for DEPR-394.
31 lines
952 B
TypeScript
31 lines
952 B
TypeScript
import { describe, expect, it } from 'vitest'
|
|
|
|
import { buildEdgeFunctionHeaderAddActions } from './httpHeaderAddActions'
|
|
|
|
describe('buildEdgeFunctionHeaderAddActions', () => {
|
|
it('includes the apikey header when requested', () => {
|
|
const [authAction] = buildEdgeFunctionHeaderAddActions({
|
|
apiKey: 'secret-key',
|
|
includeApiKeyHeader: true,
|
|
createRow: (name, value) => ({ name, value }),
|
|
})
|
|
|
|
expect(authAction.createRows()).toEqual([
|
|
{ name: 'Authorization', value: 'Bearer secret-key' },
|
|
{ name: 'apikey', value: 'secret-key' },
|
|
])
|
|
})
|
|
|
|
it('omits the apikey header when not requested', () => {
|
|
const [authAction] = buildEdgeFunctionHeaderAddActions({
|
|
apiKey: 'service-key',
|
|
includeApiKeyHeader: false,
|
|
createRow: (name, value) => ({ name, value }),
|
|
})
|
|
|
|
expect(authAction.createRows()).toEqual([
|
|
{ name: 'Authorization', value: 'Bearer service-key' },
|
|
])
|
|
})
|
|
})
|