timezone-response.dto.spec.tsβ’2.43 kB
import { describe, it, expect } from 'vitest'
import { TimezoneResponseDto } from './timezone-response.dto'
describe('TimezoneResponseDto', () => {
it('should create an instance with correct properties', () => {
const dto = new TimezoneResponseDto()
dto.timezone = 'America/New_York'
dto.datetime_local = '2025-10-17T13:47:23-04:00'
dto.datetime_utc = '2025-10-17T17:47:23.345Z'
dto.timezone_offset = '-04:00'
dto.timestamp = 1760723243345
expect(dto.timezone).toBe('America/New_York')
expect(dto.datetime_local).toBe('2025-10-17T13:47:23-04:00')
expect(dto.datetime_utc).toBe('2025-10-17T17:47:23.345Z')
expect(dto.timezone_offset).toBe('-04:00')
expect(dto.timestamp).toBe(1760723243345)
})
it('should have string type for timezone property', () => {
const dto = new TimezoneResponseDto()
dto.timezone = 'Europe/London'
expect(typeof dto.timezone).toBe('string')
})
it('should have string type for datetime_local property', () => {
const dto = new TimezoneResponseDto()
dto.datetime_local = '2025-10-17T18:47:23+01:00'
expect(typeof dto.datetime_local).toBe('string')
})
it('should have string type for datetime_utc property', () => {
const dto = new TimezoneResponseDto()
dto.datetime_utc = '2025-10-17T17:47:23.345Z'
expect(typeof dto.datetime_utc).toBe('string')
})
it('should have string type for timezone_offset property', () => {
const dto = new TimezoneResponseDto()
dto.timezone_offset = '+09:00'
expect(typeof dto.timezone_offset).toBe('string')
})
it('should have number type for timestamp property', () => {
const dto = new TimezoneResponseDto()
dto.timestamp = 1760723243345
expect(typeof dto.timestamp).toBe('number')
})
it('should handle positive timezone offsets', () => {
const dto = new TimezoneResponseDto()
dto.timezone = 'Asia/Tokyo'
dto.datetime_local = '2025-10-18T02:47:23+09:00'
dto.timezone_offset = '+09:00'
expect(dto.datetime_local).toContain('+09:00')
expect(dto.timezone_offset).toBe('+09:00')
})
it('should handle negative timezone offsets', () => {
const dto = new TimezoneResponseDto()
dto.timezone = 'America/Los_Angeles'
dto.datetime_local = '2025-10-17T10:47:23-07:00'
dto.timezone_offset = '-07:00'
expect(dto.datetime_local).toContain('-07:00')
expect(dto.timezone_offset).toBe('-07:00')
})
})