@@ -541,7 +541,6 @@ The first step
541
541
files : [ "someFile.js" ] ,
542
542
watchers : [ "someFile.js" ] ,
543
543
filter : "someFilter" ,
544
- subtasks : true ,
545
544
} ,
546
545
solution : {
547
546
commands : [ "npm install" ] ,
@@ -579,7 +578,6 @@ The first step
579
578
files : [ "someFile.js" ] ,
580
579
watchers : [ "someFile.js" ] ,
581
580
filter : "someFilter" ,
582
- subtasks : true ,
583
581
} ,
584
582
solution : {
585
583
commits : [ "1gfedcba" , "987654321" ] ,
@@ -631,7 +629,6 @@ The third step
631
629
files : [ "someFile.js" ] ,
632
630
watchers : [ "someFile.js" ] ,
633
631
filter : "someFilter" ,
634
- subtasks : true ,
635
632
} ,
636
633
solution : {
637
634
commands : [ "npm install" ] ,
@@ -645,7 +642,6 @@ The third step
645
642
files : [ "someFile.js" ] ,
646
643
watchers : [ "someFile.js" ] ,
647
644
filter : "someFilter" ,
648
- subtasks : true ,
649
645
} ,
650
646
solution : {
651
647
commands : [ "npm install" ] ,
@@ -666,7 +662,6 @@ The third step
666
662
files : [ "someFile.js" ] ,
667
663
watchers : [ "someFile.js" ] ,
668
664
filter : "someFilter" ,
669
- subtasks : true ,
670
665
} ,
671
666
solution : {
672
667
commands : [ "npm install" ] ,
@@ -709,7 +704,6 @@ The third step
709
704
files : [ "someFile.js" ] ,
710
705
watchers : [ "someFile.js" ] ,
711
706
filter : "someFilter" ,
712
- subtasks : true ,
713
707
} ,
714
708
solution : {
715
709
commits : [ "1fedcba" , "987654321" ] ,
@@ -726,7 +720,6 @@ The third step
726
720
files : [ "someFile.js" ] ,
727
721
watchers : [ "someFile.js" ] ,
728
722
filter : "someFilter" ,
729
- subtasks : true ,
730
723
} ,
731
724
solution : {
732
725
commits : [ "3abcdef" ] ,
@@ -751,7 +744,6 @@ The third step
751
744
files : [ "someFile.js" ] ,
752
745
watchers : [ "someFile.js" ] ,
753
746
filter : "someFilter" ,
754
- subtasks : true ,
755
747
} ,
756
748
solution : {
757
749
commits : [ "5abcdef" ] ,
@@ -1419,4 +1411,74 @@ The second uninterrupted step
1419
1411
expect ( result . levels [ 0 ] ) . toEqual ( expected . levels [ 0 ] ) ;
1420
1412
} ) ;
1421
1413
} ) ;
1414
+ describe ( "subtasks" , ( ) => {
1415
+ it ( "should parse subtasks" , ( ) => {
1416
+ const md = `# Subtask Demo
1417
+
1418
+ A demo demonstrating how to use subtasks
1419
+
1420
+ ## 1. Subtask Example
1421
+
1422
+ A subtask example
1423
+
1424
+ ### 1.1
1425
+
1426
+ Create a function \`add\` that can take a variety of params.
1427
+
1428
+ #### SUBTASKS
1429
+
1430
+ - Add one number
1431
+ - Add two numbers
1432
+ - Add three numbers` ;
1433
+ const skeleton = {
1434
+ levels : [
1435
+ {
1436
+ id : "1" ,
1437
+ steps : [
1438
+ {
1439
+ id : "1.1" ,
1440
+ } ,
1441
+ ] ,
1442
+ } ,
1443
+ ] ,
1444
+ } ;
1445
+ const expected = {
1446
+ levels : [
1447
+ {
1448
+ id : "1" ,
1449
+ title : "Subtask Example" ,
1450
+ summary : "A subtask example" ,
1451
+ content : "A subtask example" ,
1452
+ steps : [
1453
+ {
1454
+ id : "1.1" ,
1455
+ setup : {
1456
+ subtasks : [
1457
+ "Add one number" ,
1458
+ "Add two numbers" ,
1459
+ "Add three numbers" ,
1460
+ ] ,
1461
+ commits : [ "abcdef1" ] ,
1462
+ } ,
1463
+ content :
1464
+ "Create a function `add` that can take a variety of params." ,
1465
+ solution : {
1466
+ commits : [ "abcdef2" ] ,
1467
+ } ,
1468
+ } ,
1469
+ ] ,
1470
+ } ,
1471
+ ] ,
1472
+ } ;
1473
+ const result = parse ( {
1474
+ text : md ,
1475
+ skeleton,
1476
+ commits : {
1477
+ "1.1:T" : [ "abcdef1" ] ,
1478
+ "1.1:S" : [ "abcdef2" ] ,
1479
+ } ,
1480
+ } ) ;
1481
+ expect ( result . levels ) . toEqual ( expected . levels ) ;
1482
+ } ) ;
1483
+ } ) ;
1422
1484
} ) ;
0 commit comments