cities-response.dto.spec.tsβ’1.33 kB
import { describe, it, expect } from 'vitest'
import { CitiesResponseDto } from './cities-response.dto'
describe('CitiesResponseDto', () => {
it('should create an instance with correct properties', () => {
const dto = new CitiesResponseDto()
dto.region = 'America'
dto.cities = ['New_York', 'Los_Angeles', 'Chicago']
dto.count = 3
expect(dto.region).toBe('America')
expect(dto.cities).toEqual(['New_York', 'Los_Angeles', 'Chicago'])
expect(dto.count).toBe(3)
})
it('should have string type for region property', () => {
const dto = new CitiesResponseDto()
dto.region = 'Europe'
expect(typeof dto.region).toBe('string')
})
it('should have array type for cities property', () => {
const dto = new CitiesResponseDto()
dto.cities = ['London', 'Paris', 'Berlin']
expect(Array.isArray(dto.cities)).toBe(true)
})
it('should have number type for count property', () => {
const dto = new CitiesResponseDto()
dto.count = 150
expect(typeof dto.count).toBe('number')
})
it('should handle multi-part city names', () => {
const dto = new CitiesResponseDto()
dto.cities = ['Argentina/Buenos_Aires', 'Kentucky/Louisville']
expect(dto.cities).toContain('Argentina/Buenos_Aires')
expect(dto.cities).toContain('Kentucky/Louisville')
})
})