diff --git a/api/src/engine/test/core.e2e-spec.ts b/api/src/engine/test/core.e2e-spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..bb35467dd1911ea2f88c8af9f0268218ddfdb8a5 --- /dev/null +++ b/api/src/engine/test/core.e2e-spec.ts @@ -0,0 +1,47 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { Domain } from 'src/engine/models/domain.model'; +import { AppModule } from '../../main/app.module'; +import { TIMEOUT_DURATION_SECONDS } from '../connectors/exareme/interfaces/test-utilities'; +import { ENGINE_SERVICE } from '../engine.constants'; +import { IEngineService } from '../engine.interfaces'; + +jest.setTimeout(1000 * TIMEOUT_DURATION_SECONDS); + +describe('Engine service', () => { + let engineService: IEngineService; + let domains: Domain[]; + + beforeAll(async () => { + const moduleRef: TestingModule = await Test.createTestingModule({ + imports: [AppModule], + }).compile(); + + engineService = await moduleRef.resolve<IEngineService>(ENGINE_SERVICE); + + domains = await engineService.getDomains([]); + }); + + it('Get domains', async () => { + expect(domains).toBeTruthy(); + expect(domains.length).toBeGreaterThanOrEqual(1); + }); + + it('Get datasets', async () => { + domains.forEach((domain) => { + expect(domain.datasets).toBeTruthy(); + }); + }); + + it('Get algorithms', async () => { + const algorithms = await engineService.getAlgorithms(); + expect(algorithms).toBeTruthy(); + expect(algorithms.length).toBeGreaterThanOrEqual(1); + }); + + it('Get groups', async () => { + domains.forEach((domain) => { + expect(domain.groups).toBeTruthy(); + expect(domain.groups.length).toBeGreaterThanOrEqual(1); + }); + }); +});