Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

use-timestamp.spec.ts 1.9KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import { renderHook } from '@testing-library/react'
  2. import useTimestamp from './use-timestamp'
  3. jest.mock('@/context/app-context', () => ({
  4. useAppContext: jest.fn(() => ({
  5. userProfile: {
  6. id: '8b18e24b-1ac8-4262-aa5c-e9aa95c76846',
  7. name: 'test',
  8. avatar: null,
  9. avatar_url: null,
  10. email: 'test@dify.ai',
  11. is_password_set: false,
  12. interface_language: 'zh-Hans',
  13. interface_theme: 'light',
  14. timezone: 'Asia/Shanghai',
  15. last_login_at: 1744188761,
  16. last_login_ip: '127.0.0.1',
  17. created_at: 1728444483,
  18. },
  19. })),
  20. }))
  21. describe('useTimestamp', () => {
  22. describe('formatTime', () => {
  23. it('should format unix timestamp correctly', () => {
  24. const { result } = renderHook(() => useTimestamp())
  25. const timestamp = 1704132000
  26. expect(result.current.formatTime(timestamp, 'YYYY-MM-DD HH:mm:ss'))
  27. .toBe('2024-01-02 02:00:00')
  28. })
  29. it('should format with different patterns', () => {
  30. const { result } = renderHook(() => useTimestamp())
  31. const timestamp = 1704132000
  32. expect(result.current.formatTime(timestamp, 'MM/DD/YYYY'))
  33. .toBe('01/02/2024')
  34. expect(result.current.formatTime(timestamp, 'HH:mm'))
  35. .toBe('02:00')
  36. })
  37. })
  38. describe('formatDate', () => {
  39. it('should format date string correctly', () => {
  40. const { result } = renderHook(() => useTimestamp())
  41. const dateString = '2024-01-01T12:00:00Z'
  42. expect(result.current.formatDate(dateString, 'YYYY-MM-DD HH:mm:ss'))
  43. .toBe('2024-01-01 20:00:00')
  44. })
  45. it('should format with different patterns', () => {
  46. const { result } = renderHook(() => useTimestamp())
  47. const dateString = '2024-01-01T12:00:00Z'
  48. expect(result.current.formatDate(dateString, 'MM/DD/YYYY'))
  49. .toBe('01/01/2024')
  50. expect(result.current.formatDate(dateString, 'HH:mm'))
  51. .toBe('20:00')
  52. })
  53. })
  54. })