Files
sub2api/frontend/src/views/admin/__tests__/groupsVideoModelPricing.spec.ts
T
李建琦 6d655c9903
Release / update-version (push) Has been cancelled
Release / build-frontend (push) Has been cancelled
Release / release (push) Has been cancelled
Release / sync-version-file (push) Has been cancelled
CI / shell (push) Canceled after 0s
CI / test (push) Canceled after 0s
CI / frontend (push) Canceled after 0s
CI / golangci-lint (push) Canceled after 0s
Security Scan / backend-security (push) Canceled after 0s
Security Scan / frontend-security (push) Canceled after 0s
Sub2API v1.0 - AI API 网关(二开初始版本,基于上游 Wei-Shaw/sub2api)
2026-08-21 18:30:13 +08:00

48 lines
1.5 KiB
TypeScript

import { describe, expect, it } from 'vitest'
import {
createVideoModelPricesForm,
serializeVideoModelPrices,
videoModelPriceFamilyRows
} from '../groupsVideoModelPricing'
describe('Grok video model pricing form', () => {
it('provides editable rows for both canonical Grok video families', () => {
const form = createVideoModelPricesForm()
expect(videoModelPriceFamilyRows(form).map(({ key }) => key)).toEqual([
'grok-imagine-video',
'grok-imagine-video-1.5'
])
expect(form['grok-imagine-video']['480p']).toBeNull()
expect(form['grok-imagine-video-1.5']['1080p']).toBeNull()
})
it('serializes only finite non-negative prices and preserves future families', () => {
const form = createVideoModelPricesForm({
'grok-imagine-video-2': { '1080p': 0.4 }
})
form['grok-imagine-video']['480p'] = 0.05
form['grok-imagine-video']['720p'] = ''
form['grok-imagine-video-1.5']['1080p'] = -1
expect(serializeVideoModelPrices(form)).toEqual({
'grok-imagine-video': { '480p': 0.05 },
'grok-imagine-video-2': { '1080p': 0.4 }
})
})
it('round-trips unknown model families so editing does not discard them', () => {
const form = createVideoModelPricesForm({
'grok-imagine-video-2': { '480p': 0.2 }
})
expect(videoModelPriceFamilyRows(form).map(({ key }) => key)).toContain(
'grok-imagine-video-2'
)
expect(serializeVideoModelPrices(form)).toMatchObject({
'grok-imagine-video-2': { '480p': 0.2 }
})
})
})