@@ -551,6 +551,53 @@ describe('properties for scripting', () => {
551
551
} ) ;
552
552
} ) ;
553
553
554
+ function withWideSelectionOfDependencyScenarios ( ) {
555
+ const lines = [
556
+ '- [ ] No dependency - TODO' ,
557
+ '- [x] No dependency - DONE' ,
558
+ //
559
+ '- [ ] scenario 1 - TODO depends on TODO π scenario1' ,
560
+ '- [ ] scenario 1 - TODO depends on TODO βοΈ scenario1' ,
561
+ //
562
+ '- [x] scenario 2 - TODO depends on DONE π scenario2' ,
563
+ '- [ ] scenario 2 - TODO depends on DONE βοΈ scenario2' ,
564
+ //
565
+ '- [ ] scenario 3 - DONE depends on TODO π scenario3' ,
566
+ '- [x] scenario 3 - DONE depends on TODO βοΈ scenario3' ,
567
+ //
568
+ '- [x] scenario 4 - DONE depends on DONE π scenario4' ,
569
+ '- [x] scenario 4 - DONE depends on DONE βοΈ scenario4' ,
570
+ //
571
+ '- [ ] scenario 5 - TODO depends on non-existing ID βοΈ nosuchid' ,
572
+ //
573
+ '- [ ] scenario 6 - TODO depends on self π self βοΈ self' ,
574
+ //
575
+ '- [x] scenario 7 - task with duplicated id - this is DONE - π scenario7' ,
576
+ '- [ ] scenario 7 - task with duplicated id - this is TODO - and is blocking - π scenario7' ,
577
+ '- [ ] scenario 7 - TODO depends on id that is duplicated - ensure all tasks are checked - βοΈ scenario7' ,
578
+ //
579
+ '- [ ] scenario 8 - mutually dependant π scenario8a βοΈ scenario8b' ,
580
+ '- [ ] scenario 8 - mutually dependant π scenario8b βοΈ scenario8a' ,
581
+ //
582
+ '- [ ] scenario 9 - cyclic dependency π scenario9a βοΈ scenario9c' ,
583
+ '- [ ] scenario 9 - cyclic dependency π scenario9b βοΈ scenario9a' ,
584
+ '- [ ] scenario 9 - cyclic dependency π scenario9c βοΈ scenario9b' ,
585
+ //
586
+ '- [ ] scenario 10 - multiple dependencies TODO - π scenario10a' ,
587
+ '- [/] scenario 10 - multiple dependencies IN_PROGRESS - π scenario10b' ,
588
+ '- [x] scenario 10 - multiple dependencies DONE - π scenario10c' ,
589
+ '- [-] scenario 10 - multiple dependencies CANCELLED - π scenario10d' ,
590
+ '- [Q] scenario 10 - multiple dependencies NON_TASK - π scenario10e' ,
591
+ '- [ ] scenario 10 - multiple dependencies - βοΈ scenario10a,scenario10b,scenario10c,scenario10d,scenario10e' ,
592
+ //
593
+ '- [ ] scenario 11 - indirect dependency - indirect blocking of scenario11c ignored - π scenario11a' ,
594
+ '- [x] scenario 11 - indirect dependency - DONE - π scenario11b βοΈ scenario11a' ,
595
+ '- [ ] scenario 11 - indirect dependency - indirect blocking of scenario11a ignored - π scenario11c βοΈ scenario11b' ,
596
+ ] ;
597
+ const tasks = fromLines ( { lines } ) ;
598
+ return tasks ;
599
+ }
600
+
554
601
describe ( 'task dependencies' , ( ) => {
555
602
beforeEach ( ( ) => {
556
603
const nonTaskStatus = new StatusConfiguration ( 'Q' , 'Question' , 'A' , true , StatusType . NON_TASK ) ;
@@ -566,49 +613,7 @@ describe('task dependencies', () => {
566
613
}
567
614
568
615
it ( 'blocking and blocked' , ( ) => {
569
- const lines = [
570
- '- [ ] No dependency - TODO' ,
571
- '- [x] No dependency - DONE' ,
572
- //
573
- '- [ ] scenario 1 - TODO depends on TODO π scenario1' ,
574
- '- [ ] scenario 1 - TODO depends on TODO βοΈ scenario1' ,
575
- //
576
- '- [x] scenario 2 - TODO depends on DONE π scenario2' ,
577
- '- [ ] scenario 2 - TODO depends on DONE βοΈ scenario2' ,
578
- //
579
- '- [ ] scenario 3 - DONE depends on TODO π scenario3' ,
580
- '- [x] scenario 3 - DONE depends on TODO βοΈ scenario3' ,
581
- //
582
- '- [x] scenario 4 - DONE depends on DONE π scenario4' ,
583
- '- [x] scenario 4 - DONE depends on DONE βοΈ scenario4' ,
584
- //
585
- '- [ ] scenario 5 - TODO depends on non-existing ID βοΈ nosuchid' ,
586
- //
587
- '- [ ] scenario 6 - TODO depends on self π self βοΈ self' ,
588
- //
589
- '- [x] scenario 7 - task with duplicated id - this is DONE - π scenario7' ,
590
- '- [ ] scenario 7 - task with duplicated id - this is TODO - and is blocking - π scenario7' ,
591
- '- [ ] scenario 7 - TODO depends on id that is duplicated - ensure all tasks are checked - βοΈ scenario7' ,
592
- //
593
- '- [ ] scenario 8 - mutually dependant π scenario8a βοΈ scenario8b' ,
594
- '- [ ] scenario 8 - mutually dependant π scenario8b βοΈ scenario8a' ,
595
- //
596
- '- [ ] scenario 9 - cyclic dependency π scenario9a βοΈ scenario9c' ,
597
- '- [ ] scenario 9 - cyclic dependency π scenario9b βοΈ scenario9a' ,
598
- '- [ ] scenario 9 - cyclic dependency π scenario9c βοΈ scenario9b' ,
599
- //
600
- '- [ ] scenario 10 - multiple dependencies TODO - π scenario10a' ,
601
- '- [/] scenario 10 - multiple dependencies IN_PROGRESS - π scenario10b' ,
602
- '- [x] scenario 10 - multiple dependencies DONE - π scenario10c' ,
603
- '- [-] scenario 10 - multiple dependencies CANCELLED - π scenario10d' ,
604
- '- [Q] scenario 10 - multiple dependencies NON_TASK - π scenario10e' ,
605
- '- [ ] scenario 10 - multiple dependencies - βοΈ scenario10a,scenario10b,scenario10c,scenario10d,scenario10e' ,
606
- //
607
- '- [ ] scenario 11 - indirect dependency - indirect blocking of scenario11c ignored - π scenario11a' ,
608
- '- [x] scenario 11 - indirect dependency - DONE - π scenario11b βοΈ scenario11a' ,
609
- '- [ ] scenario 11 - indirect dependency - indirect blocking of scenario11a ignored - π scenario11c βοΈ scenario11b' ,
610
- ] ;
611
- const tasks = fromLines ( { lines } ) ;
616
+ const tasks = withWideSelectionOfDependencyScenarios ( ) ;
612
617
613
618
verifyAll ( 'Visualise blocking methods on Task, for a collection of tasks' , tasks , ( task ) => {
614
619
return `
0 commit comments