mirror of
https://github.com/supabase/supabase.git
synced 2026-09-09 03:19:36 +08:00
## What kind of change does this PR introduce? Chore ## What is the current behavior? Endpoints have no (public) unique identifier, making it hard to distinguish in UI. ## What is the new behavior? Endpoints now have a name field. This is optional but strongly encouraged: - No _(Optional)_ on label - Autogenerated name Removing an endpoint name makes corresponding UI fall back the URL. | Before | After | | --- | --- | | <img width="1234" height="629" alt="Settings Oldie 2 Toolshed Supabase-CF557DE5-FA03-40E7-938E-2CC87F27C9A5" src="https://github.com/user-attachments/assets/4b55fcb7-f8bc-4b85-a374-9ee62e452cb0" /> | <img width="1234" height="629" alt="Settings Oldie 2 Toolshed Supabase-74BBF142-DEC0-4626-B614-B05EBB2AC0EF" src="https://github.com/user-attachments/assets/7ff40a91-c71a-4e20-85f8-0837d62202aa" /> | | <img width="1234" height="629" alt="Settings Oldie 2 Toolshed Supabase-32A4B56C-61F5-4C1C-81DD-C455835E075F" src="https://github.com/user-attachments/assets/f732ca50-2c60-4fbc-99c7-53afb5c34682" /> | <img width="1234" height="629" alt="Settings Oldie 2 Toolshed Supabase-29987973-9616-4409-9DF1-B9581112D4C3" src="https://github.com/user-attachments/assets/0cf1db9a-fe84-4140-a2fc-bf10cf295c3b" /> |
37 lines
971 B
TypeScript
37 lines
971 B
TypeScript
import { afterEach, describe, expect, it, vi } from 'vitest'
|
|
|
|
import {
|
|
generateWebhookEndpointName,
|
|
getWebhookEndpointDisplayName,
|
|
} from './PlatformWebhooks.utils'
|
|
|
|
describe('PlatformWebhooks.utils', () => {
|
|
afterEach(() => {
|
|
vi.restoreAllMocks()
|
|
})
|
|
|
|
it('returns the trimmed endpoint name when present', () => {
|
|
expect(
|
|
getWebhookEndpointDisplayName({
|
|
name: ' Billing events ',
|
|
url: 'https://hooks.example.com/billing',
|
|
})
|
|
).toBe('Billing events')
|
|
})
|
|
|
|
it('falls back to the endpoint url when the name is empty', () => {
|
|
expect(
|
|
getWebhookEndpointDisplayName({
|
|
name: ' ',
|
|
url: 'https://hooks.example.com/fallback',
|
|
})
|
|
).toBe('https://hooks.example.com/fallback')
|
|
})
|
|
|
|
it('generates an adjective-noun endpoint name', () => {
|
|
vi.spyOn(Math, 'random').mockReturnValueOnce(0).mockReturnValueOnce(0.1)
|
|
|
|
expect(generateWebhookEndpointName()).toBe('swift-courier')
|
|
})
|
|
})
|