trade360-nodejs-sdk
Version:
LSports Trade360 SDK for Node.js
105 lines • 5.2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const cities_request_dto_1 = require("../../../../../src/api/common/metadata/dtos/cities-request.dto");
describe('CityFilterDto', () => {
it('should instantiate with default values', () => {
const filter = new cities_request_dto_1.CityFilterDto();
expect(filter).toBeInstanceOf(cities_request_dto_1.CityFilterDto);
expect(filter.cityIds).toBeUndefined();
expect(filter.countryIds).toBeUndefined();
expect(filter.stateIds).toBeUndefined();
});
it('should instantiate with all properties', () => {
const data = {
cityIds: [1, 2, 3],
countryIds: [100, 200],
stateIds: [10, 20],
};
const filter = new cities_request_dto_1.CityFilterDto(data);
expect(filter.cityIds).toEqual(data.cityIds);
expect(filter.countryIds).toEqual(data.countryIds);
expect(filter.stateIds).toEqual(data.stateIds);
});
it('should instantiate with partial properties', () => {
const data = {
cityIds: [1, 2],
countryIds: [100],
};
const filter = new cities_request_dto_1.CityFilterDto(data);
expect(filter.cityIds).toEqual(data.cityIds);
expect(filter.countryIds).toEqual(data.countryIds);
expect(filter.stateIds).toBeUndefined();
});
it('should handle empty arrays', () => {
const data = {
cityIds: [],
countryIds: [],
stateIds: [],
};
const filter = new cities_request_dto_1.CityFilterDto(data);
expect(filter.cityIds).toEqual([]);
expect(filter.countryIds).toEqual([]);
expect(filter.stateIds).toEqual([]);
});
describe('EntityId getter', () => {
it('should return comma-separated city IDs when cityIds exist', () => {
const filter = new cities_request_dto_1.CityFilterDto({ cityIds: [1, 2, 3] });
expect(filter.EntityId).toBe('1,2,3');
});
it('should return empty string when cityIds is undefined', () => {
const filter = new cities_request_dto_1.CityFilterDto();
expect(filter.EntityId).toBe('');
});
it('should return empty string when cityIds is empty array', () => {
const filter = new cities_request_dto_1.CityFilterDto({ cityIds: [] });
expect(filter.EntityId).toBe('');
});
it('should return single ID as string when cityIds has one element', () => {
const filter = new cities_request_dto_1.CityFilterDto({ cityIds: [42] });
expect(filter.EntityId).toBe('42');
});
});
});
describe('GetCitiesRequestDto', () => {
it('should instantiate with default values', () => {
const request = new cities_request_dto_1.GetCitiesRequestDto();
expect(request).toBeInstanceOf(cities_request_dto_1.GetCitiesRequestDto);
expect(request.filter).toBeUndefined();
});
it('should instantiate with CityFilterDto instance', () => {
const filter = new cities_request_dto_1.CityFilterDto({ cityIds: [1, 2] });
const request = new cities_request_dto_1.GetCitiesRequestDto({ filter });
expect(request.filter).toBe(filter);
expect(request.filter).toBeInstanceOf(cities_request_dto_1.CityFilterDto);
});
it('should instantiate with plain filter object', () => {
const filterData = new cities_request_dto_1.CityFilterDto({ cityIds: [1, 2], countryIds: [100] });
const request = new cities_request_dto_1.GetCitiesRequestDto({ filter: filterData });
expect(request.filter).toBeInstanceOf(cities_request_dto_1.CityFilterDto);
expect(request.filter?.cityIds).toEqual(filterData.cityIds);
expect(request.filter?.countryIds).toEqual(filterData.countryIds);
});
it('should handle empty filter object', () => {
const request = new cities_request_dto_1.GetCitiesRequestDto({ filter: new cities_request_dto_1.CityFilterDto({}) });
expect(request.filter).toBeInstanceOf(cities_request_dto_1.CityFilterDto);
expect(request.filter?.cityIds).toBeUndefined();
expect(request.filter?.countryIds).toBeUndefined();
});
describe('EntityId getter', () => {
it('should return filter EntityId when filter exists', () => {
const filter = new cities_request_dto_1.CityFilterDto({ cityIds: [1, 2, 3] });
const request = new cities_request_dto_1.GetCitiesRequestDto({ filter });
expect(request.EntityId).toBe('1,2,3');
});
it('should return empty string when filter is undefined', () => {
const request = new cities_request_dto_1.GetCitiesRequestDto();
expect(request.EntityId).toBe('');
});
it('should return empty string when filter has no cityIds', () => {
const filter = new cities_request_dto_1.CityFilterDto({ countryIds: [100] });
const request = new cities_request_dto_1.GetCitiesRequestDto({ filter });
expect(request.EntityId).toBe('');
});
});
});
//# sourceMappingURL=cities-request.dto.spec.js.map