@@ -3,6 +3,7 @@ import { beforeEach, describe, expect, test } from 'vitest';
33import { mockBaseUrl } from '../../../../core/src/__tests__/testUtils' ;
44import type CogniteClientAlpha from '../../cogniteClient' ;
55import { setupMockableClient } from '../testUtils' ;
6+ import { routineRevisionConfiguration , routineRevisionScript } from './seed' ;
67
78describe ( 'Simulator Routines API unit tests' , ( ) => {
89 let client : CogniteClientAlpha ;
@@ -16,21 +17,29 @@ describe('Simulator Routines API unit tests', () => {
1617 const filter = {
1718 simulatorExternalIds : [ 'simulator-1' , 'simulator-2' ] ,
1819 } ;
19- const response = {
20+ const mockedResponse = {
2021 items : [
2122 {
2223 id : 1 ,
23- externalId : 'routine-1' ,
24+ externalId : 'test_sim_routine_1' ,
25+ simulatorExternalId : 'test_sim_1' ,
26+ modelExternalId : 'test_model_1' ,
27+ simulatorIntegrationExternalId : 'test_sim_integration_1' ,
2428 name : 'Test Routine 1' ,
25- modelExternalId : 'model-1' ,
26- simulatorIntegrationExternalId : 'integration-1' ,
29+ dataSetId : 1 ,
30+ createdTime : 1765203279461 ,
31+ lastUpdatedTime : 1765203279461 ,
2732 } ,
2833 {
2934 id : 2 ,
30- externalId : 'routine-2' ,
35+ externalId : 'test_sim_routine_2' ,
36+ simulatorExternalId : 'test_sim_1' ,
37+ modelExternalId : 'test_model_1' ,
38+ simulatorIntegrationExternalId : 'test_sim_integration_1' ,
3139 name : 'Test Routine 2' ,
32- modelExternalId : 'model-2' ,
33- simulatorIntegrationExternalId : 'integration-2' ,
40+ dataSetId : 1 ,
41+ createdTime : 1765203279461 ,
42+ lastUpdatedTime : 1765203279461 ,
3443 } ,
3544 ] ,
3645 } ;
@@ -39,12 +48,17 @@ describe('Simulator Routines API unit tests', () => {
3948 . post ( / \/ a p i \/ v 1 \/ p r o j e c t s \/ .* \/ s i m u l a t o r s \/ r o u t i n e s \/ l i s t / , {
4049 filter,
4150 } )
42- . reply ( 200 , response ) ;
51+ . reply ( 200 , mockedResponse ) ;
4352
4453 const result = await client . simulators . listRoutines ( {
4554 filter,
4655 } ) ;
47- expect ( result . items ) . toEqual ( response . items ) ;
56+ const expectedResponse = mockedResponse . items . map ( ( item ) => ( {
57+ ...item ,
58+ createdTime : new Date ( item . createdTime ) ,
59+ lastUpdatedTime : new Date ( item . lastUpdatedTime ) ,
60+ } ) ) ;
61+ expect ( result . items ) . toEqual ( expectedResponse ) ;
4862 expect ( result . items . length ) . toBe ( 2 ) ;
4963 } ) ;
5064
@@ -54,14 +68,18 @@ describe('Simulator Routines API unit tests', () => {
5468 simulatorIntegrationExternalIds : [ 'integration-1' ] ,
5569 modelExternalIds : [ 'model-1' ] ,
5670 } ;
57- const response = {
71+ const mockedResponse = {
5872 items : [
5973 {
6074 id : 1 ,
61- externalId : 'routine-1' ,
75+ externalId : 'test_sim_routine_1' ,
76+ simulatorExternalId : 'test_sim_1' ,
77+ modelExternalId : 'test_model_1' ,
78+ simulatorIntegrationExternalId : 'test_sim_integration_1' ,
6279 name : 'Test Routine 1' ,
63- modelExternalId : 'model-1' ,
64- simulatorIntegrationExternalId : 'integration-1' ,
80+ dataSetId : 1 ,
81+ createdTime : 1765203279461 ,
82+ lastUpdatedTime : 1765203279461 ,
6583 } ,
6684 ] ,
6785 } ;
@@ -70,12 +88,17 @@ describe('Simulator Routines API unit tests', () => {
7088 . post ( / \/ a p i \/ v 1 \/ p r o j e c t s \/ .* \/ s i m u l a t o r s \/ r o u t i n e s \/ l i s t / , {
7189 filter,
7290 } )
73- . reply ( 200 , response ) ;
91+ . reply ( 200 , mockedResponse ) ;
7492
7593 const result = await client . simulators . listRoutines ( {
7694 filter,
7795 } ) ;
78- expect ( result . items ) . toEqual ( response . items ) ;
96+ const expectedResponse = mockedResponse . items . map ( ( item ) => ( {
97+ ...item ,
98+ createdTime : new Date ( item . createdTime ) ,
99+ lastUpdatedTime : new Date ( item . lastUpdatedTime ) ,
100+ } ) ) ;
101+ expect ( result . items ) . toEqual ( expectedResponse ) ;
79102 expect ( result . items . length ) . toBe ( 1 ) ;
80103 } ) ;
81104
@@ -99,4 +122,73 @@ describe('Simulator Routines API unit tests', () => {
99122 expect ( result . items ) . toEqual ( [ ] ) ;
100123 expect ( result . items . length ) . toBe ( 0 ) ;
101124 } ) ;
125+
126+ test ( 'list simulator routines with undefined simulatorIntegrationExternalId' , async ( ) => {
127+ const mockedResponse = {
128+ items : [
129+ {
130+ id : 1 ,
131+ externalId : 'test_sim_routine_1' ,
132+ simulatorExternalId : 'test_sim_1' ,
133+ modelExternalId : 'test_model_1' ,
134+ simulatorIntegrationExternalId : undefined ,
135+ name : 'Test Routine 1' ,
136+ dataSetId : 1 ,
137+ createdTime : 1765203279461 ,
138+ lastUpdatedTime : 1765203279461 ,
139+ } ,
140+ ] ,
141+ } ;
142+
143+ nock ( mockBaseUrl )
144+ . post ( / \/ a p i \/ v 1 \/ p r o j e c t s \/ .* \/ s i m u l a t o r s \/ r o u t i n e s \/ l i s t / , { } )
145+ . reply ( 200 , mockedResponse ) ;
146+
147+ const result = await client . simulators . listRoutines ( ) ;
148+ expect ( result . items . length ) . toBe ( 1 ) ;
149+ const expectedResponse = mockedResponse . items . map ( ( item ) => ( {
150+ ...item ,
151+ createdTime : new Date ( item . createdTime ) ,
152+ lastUpdatedTime : new Date ( item . lastUpdatedTime ) ,
153+ } ) ) ;
154+ expect ( result . items ) . toEqual ( expectedResponse ) ;
155+ expect ( result . items [ 0 ] . simulatorIntegrationExternalId ) . toBeUndefined ( ) ;
156+ } ) ;
157+
158+ test ( 'list simulator routine revisions with undefined simulatorIntegrationExternalId' , async ( ) => {
159+ const mockedResponse = {
160+ items : [
161+ {
162+ id : 1 ,
163+ externalId : 'test_sim_routine_revision_1' ,
164+ routineExternalId : 'test_sim_routine_1' ,
165+ modelExternalId : 'test_model_1' ,
166+ simulatorIntegrationExternalId : undefined ,
167+ configuration : routineRevisionConfiguration ,
168+ script : routineRevisionScript ,
169+ simulatorExternalId : 'test_sim_1' ,
170+ dataSetId : 1 ,
171+ createdByUserId : 'test_user_1' ,
172+ createdTime : 1765203279461 ,
173+ versionNumber : 1 ,
174+ } ,
175+ ] ,
176+ } ;
177+
178+ nock ( mockBaseUrl )
179+ . post (
180+ / \/ a p i \/ v 1 \/ p r o j e c t s \/ .* \/ s i m u l a t o r s \/ r o u t i n e s \/ r e v i s i o n s \/ l i s t / ,
181+ { }
182+ )
183+ . reply ( 200 , mockedResponse ) ;
184+
185+ const result = await client . simulators . listRoutineRevisions ( ) ;
186+ expect ( result . items . length ) . toBe ( 1 ) ;
187+ const expectedResponse = mockedResponse . items . map ( ( item ) => ( {
188+ ...item ,
189+ createdTime : new Date ( item . createdTime ) ,
190+ } ) ) ;
191+ expect ( result . items ) . toEqual ( expectedResponse ) ;
192+ expect ( result . items [ 0 ] . simulatorIntegrationExternalId ) . toBeUndefined ( ) ;
193+ } ) ;
102194} ) ;
0 commit comments