@@ -43,7 +43,7 @@ BitBucketModelImporterTest >> testConvertBitBucketDiffToGitDiff [
4343 glhModel := GLHModel new name: ' test' .
4444
4545 bitBucketImporter := BitBucketModelImporter new
46- bitBucketApi : bitBucketApi;
46+ repoApi : bitBucketApi;
4747 glhModel: glhModel.
4848
4949 diffs := bitBucketApi diffs.
@@ -74,7 +74,7 @@ BitBucketModelImporterTest >> testConvertBitBucketDiffToGitDiffNoHunks [
7474 glhModel := GLHModel new name: ' test' .
7575
7676 bitBucketImporter := BitBucketModelImporter new
77- bitBucketApi : bitBucketApi;
77+ repoApi : bitBucketApi;
7878 glhModel: glhModel.
7979
8080 diffs := bitBucketApi diffsNohunks.
@@ -268,7 +268,9 @@ BitBucketModelImporterTest >> testImportCommitsOfProjectSinceUntil [
268268
269269 self assert: project repository commits size equals: 1 .
270270 firstCommit := project repository commits first.
271- self assert: firstCommit additions equals: 1
271+ self assert: firstCommit additions equals: 1 .
272+ " ensure the a commit has a title at least base on its message"
273+ self assert: firstCommit title equals: ' WIP on feature 1'
272274]
273275
274276{ #category : #tests }
@@ -366,6 +368,28 @@ BitBucketModelImporterTest >> testImportCreatorOfCommitIfAlreadyExist [
366368 self assert: commit commitCreator equals: creator
367369]
368370
371+ { #category : #tests }
372+ BitBucketModelImporterTest >> testImportGroup [
373+
374+ | bitBucketApi glphModel bitBucketImporter group |
375+ bitBucketApi := BitBucketApiMock new .
376+
377+ glphModel := GLHModel new name: ' test' .
378+
379+ bitBucketImporter := BitBucketModelImporter new
380+ repoApi: bitBucketApi;
381+ glhModel: glphModel.
382+
383+ " When"
384+ group := bitBucketImporter importGroup: ' cs' .
385+
386+ " Then"
387+ self assert: (glphModel allWithType: GLHGroup ) size equals: 1 .
388+ self
389+ assertCollection: (glphModel allWithType: GLHGroup )
390+ hasSameElements: { group }
391+ ]
392+
369393{ #category : #tests }
370394BitBucketModelImporterTest >> testImportMergeRequestCommits [
371395
@@ -393,6 +417,171 @@ BitBucketModelImporterTest >> testImportMergeRequestCommits [
393417 self assert: mergeRequest commits first additions equals: 1
394418]
395419
420+ { #category : #tests }
421+ BitBucketModelImporterTest >> testImportMergeRequestStats [
422+
423+ | bitBucketApi glphModel bitBucketImporter mergeRequest commit |
424+ " Given"
425+ bitBucketApi := BitBucketApiMock new .
426+ glphModel := GLHModel new name: ' test' .
427+ bitBucketImporter := BitBucketModelImporter new
428+ repoApi: bitBucketApi;
429+ glhModel: glphModel.
430+ mergeRequest := bitBucketImporter
431+ parsePullRequestIntoGLPHEMergeRequest:
432+ bitBucketApi mergedMergeRequest.
433+ commit := GLHCommit new .
434+ glphModel add: commit.
435+ mergeRequest mergedCommit: commit.
436+
437+
438+ " When"
439+ bitBucketImporter importMergeRequestStats: mergeRequest.
440+
441+ " Then"
442+ self deny: mergeRequest mergedCommit equals: nil .
443+ self assert: mergeRequest mergedCommit additions equals: 1 .
444+ self assert: mergeRequest mergedCommit deletions equals: 1
445+ ]
446+
447+ { #category : #tests }
448+ BitBucketModelImporterTest >> testImportMergeRequestStats0Computed [
449+
450+ | bitBucketApi glphModel bitBucketImporter mergeRequest commit |
451+ " Given"
452+ bitBucketApi := BitBucketApiMock new .
453+ glphModel := GLHModel new name: ' test' .
454+ bitBucketImporter := BitBucketModelImporter new
455+ repoApi: bitBucketApi;
456+ glhModel: glphModel.
457+ mergeRequest := bitBucketImporter
458+ parsePullRequestIntoGLPHEMergeRequest:
459+ bitBucketApi mergedMergeRequest.
460+ commit := GLHCommit new .
461+ glphModel add: commit.
462+ commit additions: 0 .
463+ commit deletions: 0 .
464+ mergeRequest mergedCommit: commit.
465+
466+
467+ " When"
468+ bitBucketImporter importMergeRequestStats: mergeRequest.
469+
470+ " Then"
471+ self deny: mergeRequest mergedCommit equals: nil .
472+ self assert: mergeRequest mergedCommit additions equals: 1 .
473+ self assert: mergeRequest mergedCommit deletions equals: 1
474+ ]
475+
476+ { #category : #tests }
477+ BitBucketModelImporterTest >> testImportMergeRequestStatsAlreadyComputed [
478+
479+ | bitBucketApi glphModel bitBucketImporter mergeRequest commit |
480+ " Given"
481+ bitBucketApi := BitBucketApiMock new .
482+ glphModel := GLHModel new name: ' test' .
483+ bitBucketImporter := BitBucketModelImporter new
484+ repoApi: bitBucketApi;
485+ glhModel: glphModel.
486+ mergeRequest := bitBucketImporter
487+ parsePullRequestIntoGLPHEMergeRequest:
488+ bitBucketApi mergedMergeRequest.
489+ commit := GLHCommit new .
490+ glphModel add: commit.
491+ commit additions: 42 .
492+ commit deletions: 24 .
493+ mergeRequest mergedCommit: commit.
494+
495+
496+ " When"
497+ bitBucketImporter importMergeRequestStats: mergeRequest.
498+
499+ " Then"
500+ self deny: mergeRequest mergedCommit equals: nil .
501+ self assert: mergeRequest mergedCommit additions equals: 42 .
502+ self assert: mergeRequest mergedCommit deletions equals: 24
503+ ]
504+
505+ { #category : #tests }
506+ BitBucketModelImporterTest >> testImportMergeRequestStatsAlreadyComputedAdditionsStatOnly [
507+
508+ | bitBucketApi glphModel bitBucketImporter mergeRequest commit |
509+ " Given"
510+ bitBucketApi := BitBucketApiMock new .
511+ glphModel := GLHModel new name: ' test' .
512+ bitBucketImporter := BitBucketModelImporter new
513+ repoApi: bitBucketApi;
514+ glhModel: glphModel.
515+ mergeRequest := bitBucketImporter
516+ parsePullRequestIntoGLPHEMergeRequest:
517+ bitBucketApi mergedMergeRequest.
518+ commit := GLHCommit new .
519+ glphModel add: commit.
520+ commit additions: 42 .
521+ commit deletions: 0 .
522+ mergeRequest mergedCommit: commit.
523+
524+
525+ " When"
526+ bitBucketImporter importMergeRequestStats: mergeRequest.
527+
528+ " Then"
529+ self deny: mergeRequest mergedCommit equals: nil .
530+ self assert: mergeRequest mergedCommit additions equals: 42 .
531+ self assert: mergeRequest mergedCommit deletions equals: 0
532+ ]
533+
534+ { #category : #tests }
535+ BitBucketModelImporterTest >> testImportMergeRequestStatsAlreadyComputedDeletionsStatOnly [
536+
537+ | bitBucketApi glphModel bitBucketImporter mergeRequest commit |
538+ " Given"
539+ bitBucketApi := BitBucketApiMock new .
540+ glphModel := GLHModel new name: ' test' .
541+ bitBucketImporter := BitBucketModelImporter new
542+ repoApi: bitBucketApi;
543+ glhModel: glphModel.
544+ mergeRequest := bitBucketImporter
545+ parsePullRequestIntoGLPHEMergeRequest:
546+ bitBucketApi mergedMergeRequest.
547+ commit := GLHCommit new .
548+ glphModel add: commit.
549+ commit additions: 0 .
550+ commit deletions: 24 .
551+ mergeRequest mergedCommit: commit.
552+
553+
554+ " When"
555+ bitBucketImporter importMergeRequestStats: mergeRequest.
556+
557+ " Then"
558+ self deny: mergeRequest mergedCommit equals: nil .
559+ self assert: mergeRequest mergedCommit additions equals: 0 .
560+ self assert: mergeRequest mergedCommit deletions equals: 24
561+ ]
562+
563+ { #category : #tests }
564+ BitBucketModelImporterTest >> testImportMergeRequestStatsNoMergedCommit [
565+
566+ | bitBucketApi glphModel bitBucketImporter mergeRequest |
567+ " Given"
568+ bitBucketApi := BitBucketApiMock new .
569+ glphModel := GLHModel new name: ' test' .
570+ bitBucketImporter := BitBucketModelImporter new
571+ repoApi: bitBucketApi;
572+ glhModel: glphModel.
573+ mergeRequest := bitBucketImporter
574+ parsePullRequestIntoGLPHEMergeRequest:
575+ bitBucketApi mergedMergeRequest.
576+
577+
578+ " When"
579+ bitBucketImporter importMergeRequestStats: mergeRequest.
580+
581+ " Then"
582+ self assert: mergeRequest mergedCommit equals: nil
583+ ]
584+
396585{ #category : #tests }
397586BitBucketModelImporterTest >> testImportMergeRequestsSinceUntil [
398587
@@ -431,6 +620,43 @@ BitBucketModelImporterTest >> testImportMergeRequestsSinceUntil [
431620 self assert: mergeRequest closed_at equals: nil .
432621]
433622
623+ { #category : #tests }
624+ BitBucketModelImporterTest >> testImportMergeRequestsSinceUntilAttachedToGoodProject [
625+
626+ | bitBucketApi glphModel bitBucketImporter group repo project mergeRequests |
627+ " Given"
628+ bitBucketApi := BitBucketApiMock new .
629+
630+ glphModel := GLHModel new name: ' test' .
631+
632+ bitBucketImporter := BitBucketModelImporter new
633+ repoApi: bitBucketApi;
634+ glhModel: glphModel.
635+
636+ group := GLHGroup new id: 1 .
637+ repo := GLHRepository new .
638+ project := GLHProject new
639+ group: group;
640+ id: ' repo-slug' ;
641+ repository: repo.
642+ glphModel add: project.
643+
644+ " When"
645+ mergeRequests := bitBucketImporter
646+ importMergeRequests: project
647+ since: ' 09-23-2024'
648+ until: ' 09-25-2024' .
649+
650+ " Then"
651+ self
652+ assert:
653+ (bitBucketImporter glhModel allWithType: GLHMergeRequest ) size
654+ equals: 1 .
655+
656+ self assert: project mergeRequests size equals: 1 .
657+
658+ ]
659+
434660{ #category : #tests }
435661BitBucketModelImporterTest >> testImportMergeRequestsSinceUntilClosedMR [
436662
0 commit comments