mirror of
				https://github.com/langgenius/dify.git
				synced 2025-10-31 02:42:59 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			66 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import { defaultSystemFeatures } from '@/types/feature'
 | |
| import { act, renderHook } from '@testing-library/react'
 | |
| import useDocumentTitle from './use-document-title'
 | |
| import { useGlobalPublicStore } from '@/context/global-public-context'
 | |
| 
 | |
| jest.mock('@/service/common', () => ({
 | |
|   getSystemFeatures: jest.fn(() => ({ ...defaultSystemFeatures })),
 | |
| }))
 | |
| 
 | |
| describe('title should be empty if systemFeatures is pending', () => {
 | |
|   act(() => {
 | |
|     useGlobalPublicStore.setState({
 | |
|       systemFeatures: { ...defaultSystemFeatures, branding: { ...defaultSystemFeatures.branding, enabled: false } },
 | |
|       isGlobalPending: true,
 | |
|     })
 | |
|   })
 | |
|   it('document title should be empty if set title', () => {
 | |
|     renderHook(() => useDocumentTitle('test'))
 | |
|     expect(document.title).toBe('')
 | |
|   })
 | |
|   it('document title should be empty if not set title', () => {
 | |
|     renderHook(() => useDocumentTitle(''))
 | |
|     expect(document.title).toBe('')
 | |
|   })
 | |
| })
 | |
| 
 | |
| describe('use default branding', () => {
 | |
|   beforeEach(() => {
 | |
|     act(() => {
 | |
|       useGlobalPublicStore.setState({
 | |
|         isGlobalPending: false,
 | |
|         systemFeatures: { ...defaultSystemFeatures, branding: { ...defaultSystemFeatures.branding, enabled: false } },
 | |
|       })
 | |
|     })
 | |
|   })
 | |
|   it('document title should be test-Dify if set title', () => {
 | |
|     renderHook(() => useDocumentTitle('test'))
 | |
|     expect(document.title).toBe('test - Dify')
 | |
|   })
 | |
| 
 | |
|   it('document title should be Dify if not set title', () => {
 | |
|     renderHook(() => useDocumentTitle(''))
 | |
|     expect(document.title).toBe('Dify')
 | |
|   })
 | |
| })
 | |
| 
 | |
| describe('use specific branding', () => {
 | |
|   beforeEach(() => {
 | |
|     act(() => {
 | |
|       useGlobalPublicStore.setState({
 | |
|         isGlobalPending: false,
 | |
|         systemFeatures: { ...defaultSystemFeatures, branding: { ...defaultSystemFeatures.branding, enabled: true, application_title: 'Test' } },
 | |
|       })
 | |
|     })
 | |
|   })
 | |
|   it('document title should be test-Test if set title', () => {
 | |
|     renderHook(() => useDocumentTitle('test'))
 | |
|     expect(document.title).toBe('test - Test')
 | |
|   })
 | |
| 
 | |
|   it('document title should be Test if not set title', () => {
 | |
|     renderHook(() => useDocumentTitle(''))
 | |
|     expect(document.title).toBe('Test')
 | |
|   })
 | |
| })
 | 
