Files
dify/web/app/components/share/utils.spec.ts
CodingOnStar 0c1ffe8eea test: add comprehensive tests for share/text-generation components with 95%+ coverage
- Add tests for utils.ts (isTokenV1, getInitialTokenV2)
- Add tests for info-modal.tsx (rendering, copyright, disclaimer, close)
- Add tests for menu-dropdown.tsx (dropdown, logout, theme switcher)
- Add tests for result/content.tsx (formatting, feedback props)
- Add tests for result/header.tsx (copy, feedback buttons, undo actions)
- Extend run-once tests for select, file, json_object, hidden/optional fields

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 10:32:53 +08:00

72 lines
2.1 KiB
TypeScript

import { describe, expect, it } from 'vitest'
import { getInitialTokenV2, isTokenV1 } from './utils'
describe('utils', () => {
describe('isTokenV1', () => {
it('should return true when token has no version property', () => {
const token = { someKey: 'value' }
expect(isTokenV1(token)).toBe(true)
})
it('should return true when token.version is undefined', () => {
const token = { version: undefined }
expect(isTokenV1(token)).toBe(true)
})
it('should return true when token.version is null', () => {
const token = { version: null }
expect(isTokenV1(token)).toBe(true)
})
it('should return true when token.version is 0', () => {
const token = { version: 0 }
expect(isTokenV1(token)).toBe(true)
})
it('should return true when token.version is empty string', () => {
const token = { version: '' }
expect(isTokenV1(token)).toBe(true)
})
it('should return false when token has version 1', () => {
const token = { version: 1 }
expect(isTokenV1(token)).toBe(false)
})
it('should return false when token has version 2', () => {
const token = { version: 2 }
expect(isTokenV1(token)).toBe(false)
})
it('should return false when token has string version', () => {
const token = { version: '2' }
expect(isTokenV1(token)).toBe(false)
})
it('should handle empty object', () => {
const token = {}
expect(isTokenV1(token)).toBe(true)
})
})
describe('getInitialTokenV2', () => {
it('should return object with version 2', () => {
const token = getInitialTokenV2()
expect(token.version).toBe(2)
})
it('should return a new object each time', () => {
const token1 = getInitialTokenV2()
const token2 = getInitialTokenV2()
expect(token1).not.toBe(token2)
})
it('should return an object that can be modified without affecting future calls', () => {
const token1 = getInitialTokenV2()
token1.customField = 'test'
const token2 = getInitialTokenV2()
expect(token2.customField).toBeUndefined()
})
})
})