| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- import dayjs from 'dayjs'
- import { describe, expect, it, vi } from 'vitest'
- import {
- EXPLORER_DATEPICKER_HELPERS,
- getDefaultHelper,
- } from '@/components/interfaces/Settings/Logs/Logs.constants'
- import {
- buildLogQueryParams,
- resolveLogDateRange,
- } from '@/components/interfaces/Settings/Logs/logsDateRange'
- const lastHourHelper = getDefaultHelper(EXPLORER_DATEPICKER_HELPERS)
- describe('resolveLogDateRange', () => {
- it('recomputes helper ranges up to current time', () => {
- vi.useFakeTimers()
- const firstNow = new Date('2025-01-01T12:00:00.000Z')
- vi.setSystemTime(firstNow)
- const first = resolveLogDateRange({
- from: '',
- to: '',
- isHelper: true,
- text: lastHourHelper.text,
- })
- expect(first.to).toBe(dayjs(firstNow).toISOString())
- expect(first.from).toBe(dayjs(firstNow).subtract(1, 'hour').toISOString())
- const later = new Date('2025-01-01T13:10:00.000Z')
- vi.setSystemTime(later)
- const second = resolveLogDateRange({
- from: '',
- to: '',
- isHelper: true,
- text: lastHourHelper.text,
- })
- expect(second.to).toBe(dayjs(later).toISOString())
- expect(second.from).toBe(dayjs(later).subtract(1, 'hour').toISOString())
- expect(second.from).not.toBe(first.from)
- vi.useRealTimers()
- })
- it('uses provided range when not a helper', () => {
- const range = resolveLogDateRange({
- from: '2025-01-01T10:00:00.000Z',
- to: '2025-01-01T11:00:00.000Z',
- isHelper: false,
- })
- expect(range.from).toBe('2025-01-01T10:00:00.000Z')
- expect(range.to).toBe('2025-01-01T11:00:00.000Z')
- })
- })
- describe('buildLogQueryParams', () => {
- it('returns sql with recomputed helper range for repeated runs', () => {
- vi.useFakeTimers()
- const now = new Date('2025-01-02T08:00:00.000Z')
- vi.setSystemTime(now)
- const first = buildLogQueryParams(
- { from: '', to: '', isHelper: true, text: lastHourHelper.text },
- 'select 1'
- )
- const later = new Date('2025-01-02T09:30:00.000Z')
- vi.setSystemTime(later)
- const second = buildLogQueryParams(
- { from: '', to: '', isHelper: true, text: lastHourHelper.text },
- 'select 1'
- )
- expect(first.sql).toBe('select 1')
- expect(second.sql).toBe('select 1')
- expect(first.from).not.toBe(second.from)
- expect(second.to).toBe(dayjs(later).toISOString())
- vi.useRealTimers()
- })
- })
|