• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

moosetechnology / GitProjectHealth / 13453448420

21 Feb 2025 09:02AM UTC coverage: 62.262% (+0.009%) from 62.253%
13453448420

Pull #134

github

web-flow
Merge fc015d9c3 into ddb3b9f35
Pull Request #134: WIP: fix closedMoergeRequest first test

707 of 710 new or added lines in 29 files covered. (99.58%)

5 existing lines in 2 files now uncovered.

9787 of 15719 relevant lines covered (62.26%)

0.62 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

93.94
/src/GitLabHealth-Model-Analysis/JiraTimeMRTimeDifferenceMetric.class.st
1
Class {
2
        #name : #JiraTimeMRTimeDifferenceMetric,
3
        #superclass : #UserJiraMetric,
4
        #category : #'GitLabHealth-Model-Analysis'
5
}
6

7
{ #category : #calculating }
8
JiraTimeMRTimeDifferenceMetric >> calculate [
1✔
9

1✔
10
        | groupedByDate dateOver |
1✔
11
        userMergeRequests ifNil: [ self load ].
1✔
12
        userMergeRequests ifEmpty: [ ^ nil ].
1✔
13
        groupedByDate := self setupGroupedDate.
1✔
14

1✔
15
        userMergeRequests do: [ :userMergeRequest |
1✔
16
                dateOver := self transformDate: userMergeRequest created_at to: over.
1✔
17
                groupedByDate
1✔
18
                        at: dateOver printString
1✔
19
                        ifPresent: [ :value | value add: userMergeRequest ] ].
1✔
20

1✔
21
        groupedByDate := groupedByDate collect: [ :group |
1✔
22
                                 | differences average |
1✔
23
                                 differences := group collect: [ :mergeRequest |
1✔
24
                                                        | firstCommitDate mergeRequestTime jiraTime |
1✔
25
                                                        firstCommitDate := mergeRequest
1✔
26
                                                                                   commits last
1✔
27
                                                                                   created_at.
1✔
28

1✔
29
                                                        mergeRequestTime := mergeRequest
1✔
30
                                                                                    merged_at
1✔
31
                                                                            -
1✔
32
                                                                            firstCommitDate.
1✔
33

1✔
34
                                                        jiraTime := mergeRequest jiraIssue
1✔
35
                                                                            timeOriginalEstimate
1✔
36
                                                                            ifNil: [
1✔
37
                                                                            mergeRequest jiraIssue
1✔
38
                                                                                    timeEstimate ]
1✔
39
                                                                            ifNotNil: [
1✔
40
                                                                            mergeRequest jiraIssue
1✔
41
                                                                                    timeOriginalEstimate ].
1✔
42

1✔
43
                                                        (jiraTime - mergeRequestTime)
1✔
44
                                                                asSeconds ].
1✔
45
                        
1✔
46
                                average := group ifEmpty: [ 0 ] ifNotEmpty: [ differences average ].
1✔
47
                                average 
1✔
48
                                  ].
1✔
49

1✔
50

1✔
51
         ^ groupedByDate average asFloat
1✔
52
]
1✔
53

54
{ #category : #accessing }
UNCOV
55
JiraTimeMRTimeDifferenceMetric >> description [
×
UNCOV
56

×
UNCOV
57
        ^ 'average difference in seconds between jira estimate time and associated merge request time (time between first commit and merge date)'
×
UNCOV
58
]
×
59

60
{ #category : #loading }
61
JiraTimeMRTimeDifferenceMetric >> load [
1✔
62

1✔
63
        userMergeRequests := self
1✔
64
                                     loadUserCompleteMergeRequestsWithJiraIssueSince: (period at: #since)
1✔
65
                                     until: (period at: #until).
1✔
66

1✔
67
        "Take only the merge requests that have been merged and given a time estimate"
1✔
68
        userMergeRequests := userMergeRequests select: [ :mergeRequest |
1✔
69
                                     | issueIsEstimated |
1✔
70
                                     issueIsEstimated := mergeRequest jiraIssue
1✔
71
                                                                 timeEstimate isNotNil or:
1✔
72
                                                                 mergeRequest jiraIssue
1✔
73
                                                                         timeOriginalEstimate
1✔
74
                                                                         isNotNil.
1✔
75
                                     mergeRequest merged_at isNotNil and:
1✔
76
                                             issueIsEstimated ]
1✔
77
]
1✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc