import { DyNTS_CustomData_DataService } from './custom-data.data-service'; import { DyFM_CustomData } from '@futdevpro/fsm-dynamo/custom-data'; import { DyNTS_global_settings } from '../../_collections/global-settings.const'; import { DyFM_EnvironmentFlag } from '@futdevpro/fsm-dynamo'; import { DyNTS_GlobalService } from '../../_services/core/global.service'; describe('| DyNTS_CustomData_DataService', () => { let mockDBService: jasmine.SpyObj<{ find: () => Promise; findOne: () => Promise }>; beforeAll(() => { if (!DyNTS_global_settings.systemShortCodeName) { (DyNTS_global_settings as { systemShortCodeName?: string }).systemShortCodeName = 'TEST'; } if (!DyNTS_global_settings.env_settings) { (DyNTS_global_settings as { env_settings?: unknown }).env_settings = { environment: DyFM_EnvironmentFlag.local, }; } }); beforeEach(() => { mockDBService = jasmine.createSpyObj('DyNTS_DBService', ['find', 'findOne', 'getDataById', 'getAll', 'createData', 'modifyData']); mockDBService.find.and.returnValue(Promise.resolve([])); mockDBService.findOne.and.returnValue(Promise.resolve(null)); spyOn(DyNTS_GlobalService, 'getDBService').and.returnValue(mockDBService as never); }); it('| should create service with custom data', () => { const customData = new DyFM_CustomData({ _id: 'test-data-id', } as any); const service = new DyNTS_CustomData_DataService(customData, 'issuer-123'); expect(service).toBeInstanceOf(DyNTS_CustomData_DataService); expect(service.data).toBeDefined(); expect(service.data._id).toBe('test-data-id'); }); it('| should create service without custom data', () => { const service = new DyNTS_CustomData_DataService(); expect(service).toBeInstanceOf(DyNTS_CustomData_DataService); expect(service.data).toBeDefined(); }); it('| should create service with issuer', () => { const service = new DyNTS_CustomData_DataService(undefined, 'issuer-123'); expect(service).toBeInstanceOf(DyNTS_CustomData_DataService); }); });