dify/web/service/__tests__/use-triggers.spec.ts
Stephen Zhou 6eb9928df7
refactor(web): migrate trigger console contracts (#38255)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-07-01 14:46:30 +00:00

45 lines
1.4 KiB
TypeScript

import type { TriggerProviderApiEntity as GeneratedTriggerProvider } from '@dify/contracts/api/console/workspaces/types.gen'
import { describe, expect, it } from 'vitest'
import { convertToTriggerWithProvider, normalizeTriggerProvider } from '../use-triggers'
const createGeneratedTriggerProvider = (): GeneratedTriggerProvider => ({
author: 'Dify',
name: 'github',
label: { en_US: 'GitHub' },
description: { en_US: 'GitHub trigger provider' },
tags: ['source-control'],
events: [
{
name: 'issue_created',
identity: {
author: 'Dify',
name: 'issue_created',
label: { en_US: 'Issue created' },
provider: 'github',
},
description: { en_US: 'Issue created event' },
parameters: [
{
name: 'retry_count',
label: { en_US: 'Retry count' },
type: 'number',
default: 0,
required: false,
multiple: false,
},
],
output_schema: {},
},
],
})
describe('trigger provider normalization', () => {
it('should preserve falsy event parameter defaults', () => {
const normalizedProvider = normalizeTriggerProvider(createGeneratedTriggerProvider())
const triggerWithProvider = convertToTriggerWithProvider(normalizedProvider)
expect(normalizedProvider.events[0]?.parameters[0]?.default).toBe(0)
expect(triggerWithProvider.events[0]?.parameters[0]?.default).toBe(0)
})
})