@@ -239,37 +239,64 @@ it('generates new unique dataset name', () => {
239239} ) ;
240240
241241it ( 'get first task index for continuing workflow' , ( ) => {
242+ const doneImages = createImageStatus ( 0 , 2 , 0 ) ;
243+ const failedImages = createImageStatus ( 0 , 0 , 3 ) ;
244+ const submittedImages = createImageStatus ( 5 , 0 , 0 ) ;
242245 expect ( testGetFirstTaskIndexForContinuingWorkflow ( [ null , null , null , null ] ) ) . toEqual ( 0 ) ;
243- expect ( testGetFirstTaskIndexForContinuingWorkflow ( [ 'done' , 'done' , null , null ] ) ) . toEqual ( 2 ) ;
244- expect ( testGetFirstTaskIndexForContinuingWorkflow ( [ 'done' , 'failed' , 'done' , null ] ) ) . toEqual ( 1 ) ;
245- expect ( testGetFirstTaskIndexForContinuingWorkflow ( [ 'done' , null , 'done' , null ] ) ) . toEqual ( 1 ) ;
246- expect ( testGetFirstTaskIndexForContinuingWorkflow ( [ 'done' , 'done' , 'done' , 'done' ] ) ) . toEqual (
247- undefined
246+ expect ( testGetFirstTaskIndexForContinuingWorkflow ( [ doneImages , doneImages , null , null ] ) ) . toEqual (
247+ 2
248248 ) ;
249- expect ( testGetFirstTaskIndexForContinuingWorkflow ( [ 'submitted' , 'failed' , null , null ] ) ) . toEqual (
250- undefined
249+ expect (
250+ testGetFirstTaskIndexForContinuingWorkflow ( [ doneImages , failedImages , doneImages , null ] )
251+ ) . toEqual ( 1 ) ;
252+ expect ( testGetFirstTaskIndexForContinuingWorkflow ( [ doneImages , null , doneImages , null ] ) ) . toEqual (
253+ 1
251254 ) ;
255+ expect (
256+ testGetFirstTaskIndexForContinuingWorkflow ( [ doneImages , doneImages , doneImages , doneImages ] )
257+ ) . toEqual ( undefined ) ;
258+ expect (
259+ testGetFirstTaskIndexForContinuingWorkflow ( [ submittedImages , failedImages , null , null ] )
260+ ) . toEqual ( undefined ) ;
252261} ) ;
253262
254263/**
255264 * @param {string[] } names
256265 */
257266function getMockedDatasets ( names ) {
258267 return names . map ( ( name , index ) => {
259- return { id : index + 1 , name } ;
268+ return /** @type {import('fractal-components/types/api').DatasetV2 } */ ( {
269+ id : index + 1 ,
270+ name
271+ } ) ;
260272 } ) ;
261273}
262274
263275/**
264- * @param {Array<string|null> } values
276+ * @param {number } submitted
277+ * @param {number } done
278+ * @param {number } failed
279+ * @returns {import('fractal-components/types/api').ImagesStatus }
280+ */
281+ function createImageStatus ( submitted , done , failed ) {
282+ return {
283+ num_submitted_images : submitted ,
284+ num_done_images : done ,
285+ num_failed_images : failed ,
286+ num_available_images : 10
287+ } ;
288+ }
289+
290+ /**
291+ * @param {Array<import('fractal-components/types/api').ImagesStatus|null> } values
265292 * @returns {number|undefined }
266293 */
267294function testGetFirstTaskIndexForContinuingWorkflow ( values ) {
268295 const workflowTasks = values . map ( ( _ , i ) => {
269- return {
296+ return /** @type { import('fractal-components/types/api').WorkflowTaskV2 } */ ( {
270297 id : i + 1 ,
271298 order : i
272- } ;
299+ } ) ;
273300 } ) ;
274301 const statuses = Object . fromEntries (
275302 values . map ( ( v , i ) => [ i + 1 , v ] ) . filter ( ( e ) => e [ 1 ] !== null )
0 commit comments