File tree Expand file tree Collapse file tree 2 files changed +20
-1
lines changed
.aios-core/core/orchestration Expand file tree Collapse file tree 2 files changed +20
-1
lines changed Original file line number Diff line number Diff line change @@ -618,7 +618,9 @@ O que você quer fazer?
618618 progress : {
619619 completed : progress . stories_done . length ,
620620 total : epic . total_stories ,
621- percentage : Math . round ( ( progress . stories_done . length / epic . total_stories ) * 100 ) ,
621+ percentage : epic . total_stories > 0
622+ ? Math . round ( ( progress . stories_done . length / epic . total_stories ) * 100 )
623+ : 0 ,
622624 storiesDone : progress . stories_done ,
623625 storiesPending : progress . stories_pending ,
624626 currentStory : progress . current_story ,
Original file line number Diff line number Diff line change @@ -541,6 +541,23 @@ describe('SessionState', () => {
541541 expect ( summary . progress . storiesDone ) . toEqual ( [ '11.1' , '11.2' ] ) ;
542542 expect ( summary . context . branch ) . toBe ( 'feature/bob' ) ;
543543 } ) ;
544+
545+ it ( 'should return 0 percentage when totalStories is 0 (no division by zero)' , async ( ) => {
546+ const epicInfo = {
547+ id : 'epic-empty' ,
548+ title : 'Empty Epic' ,
549+ totalStories : 0 ,
550+ storyIds : [ ] ,
551+ } ;
552+ await sessionState . createSessionState ( epicInfo , 'feature/empty' ) ;
553+
554+ const summary = sessionState . getProgressSummary ( ) ;
555+
556+ expect ( summary . progress . percentage ) . toBe ( 0 ) ;
557+ expect ( Number . isNaN ( summary . progress . percentage ) ) . toBe ( false ) ;
558+ expect ( summary . progress . total ) . toBe ( 0 ) ;
559+ expect ( summary . progress . completed ) . toBe ( 0 ) ;
560+ } ) ;
544561 } ) ;
545562
546563 describe ( 'discard()' , ( ) => {
You can’t perform that action at this time.
0 commit comments