UNPKG

trade360-nodejs-sdk

Version:
68 lines 2.84 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const cities_collection_response_1 = require("../../../../../src/api/common/metadata/responses/cities-collection-response"); describe('CitiesCollectionResponse', () => { it('should instantiate with default values', () => { const response = new cities_collection_response_1.CitiesCollectionResponse(); expect(response).toBeInstanceOf(cities_collection_response_1.CitiesCollectionResponse); expect(response.data).toBeUndefined(); }); it('should instantiate with data object', () => { const cityData = { cityId: 1, name: 'Test City', country: { id: 100, name: 'Test Country' }, state: { id: 10, name: 'Test State' }, }; const data = { data: [cityData], }; const response = new cities_collection_response_1.CitiesCollectionResponse(data); expect(response.data).toEqual([cityData]); }); it('should handle empty data array', () => { const data = { data: [], }; const response = new cities_collection_response_1.CitiesCollectionResponse(data); expect(response.data).toEqual([]); }); it('should handle multiple cities in data array', () => { const citiesData = [ { cityId: 1, name: 'City 1', country: { id: 100, name: 'Country 1' }, }, { cityId: 2, name: 'City 2', country: { id: 200, name: 'Country 2' }, }, ]; const data = { data: citiesData, }; const response = new cities_collection_response_1.CitiesCollectionResponse(data); expect(response.data).toEqual(citiesData); expect(response.data).toHaveLength(2); }); it('should handle null/undefined data', () => { const response1 = new cities_collection_response_1.CitiesCollectionResponse(null); const response2 = new cities_collection_response_1.CitiesCollectionResponse(undefined); expect(response1).toBeInstanceOf(cities_collection_response_1.CitiesCollectionResponse); expect(response2).toBeInstanceOf(cities_collection_response_1.CitiesCollectionResponse); }); it('should handle additional properties from data object', () => { const data = { data: [], totalItems: 0, customProperty: 'test', }; const response = new cities_collection_response_1.CitiesCollectionResponse(data); expect(response.data).toEqual([]); expect(response.totalItems).toBe(0); expect(response.customProperty).toBe('test'); }); }); //# sourceMappingURL=cities-collection-response.spec.js.map