File tree 2 files changed +39
-1
lines changed
2 files changed +39
-1
lines changed Original file line number Diff line number Diff line change 1
- const { validateGithubUrl, ensureGithubToken } = require ( '../src/utils/index' )
1
+ const { validateGithubUrl, ensureGithubToken, getSeverityFromPriorityGroup } = require ( '../src/utils/index' )
2
2
3
3
describe ( 'ensureGithubToken' , ( ) => {
4
4
let originalGithubToken
@@ -43,3 +43,21 @@ describe('validateGithubUrl', () => {
43
43
expect ( validateGithubUrl ( url ) ) . toBe ( false )
44
44
} )
45
45
} )
46
+
47
+ describe ( 'getSeverityFromPriorityGroup' , ( ) => {
48
+ it ( 'should return the correct severity based on the priority group' , ( ) => {
49
+ expect ( getSeverityFromPriorityGroup ( 'P0' ) ) . toBe ( 'critical' )
50
+ expect ( getSeverityFromPriorityGroup ( 'P1' ) ) . toBe ( 'critical' )
51
+ expect ( getSeverityFromPriorityGroup ( 'P2' ) ) . toBe ( 'critical' )
52
+ expect ( getSeverityFromPriorityGroup ( 'P3' ) ) . toBe ( 'high' )
53
+ expect ( getSeverityFromPriorityGroup ( 'P4' ) ) . toBe ( 'high' )
54
+ expect ( getSeverityFromPriorityGroup ( 'P5' ) ) . toBe ( 'medium' )
55
+ expect ( getSeverityFromPriorityGroup ( 'P6' ) ) . toBe ( 'medium' )
56
+ expect ( getSeverityFromPriorityGroup ( 'P7' ) ) . toBe ( 'medium' )
57
+ expect ( getSeverityFromPriorityGroup ( 'P8' ) ) . toBe ( 'low' )
58
+ expect ( getSeverityFromPriorityGroup ( 'P20' ) ) . toBe ( 'low' )
59
+ // Recommendations always have 'info' severity
60
+ expect ( getSeverityFromPriorityGroup ( 'R1' ) ) . toBe ( 'info' )
61
+ expect ( getSeverityFromPriorityGroup ( 'R11' ) ) . toBe ( 'info' )
62
+ } )
63
+ } )
Original file line number Diff line number Diff line change @@ -22,8 +22,28 @@ const logger = {
22
22
log : defineLog ( 'log' )
23
23
}
24
24
25
+ const getSeverityFromPriorityGroup = ( priorityGroup ) => {
26
+ const priorityType = priorityGroup [ 0 ]
27
+ const priorityValue = parseInt ( priorityGroup . slice ( 1 ) , 10 )
28
+ // Recommendations (Rxx)
29
+ if ( priorityType === 'R' ) {
30
+ return 'info'
31
+ }
32
+ // Priorities (Pxx)
33
+ if ( priorityValue >= 0 && priorityValue <= 2 ) {
34
+ return 'critical'
35
+ } else if ( priorityValue >= 3 && priorityValue <= 4 ) {
36
+ return 'high'
37
+ } else if ( priorityValue >= 5 && priorityValue <= 7 ) {
38
+ return 'medium'
39
+ } else if ( priorityValue >= 8 ) {
40
+ return 'low'
41
+ }
42
+ }
43
+
25
44
module . exports = {
26
45
validateGithubUrl,
27
46
ensureGithubToken,
47
+ getSeverityFromPriorityGroup,
28
48
logger
29
49
}
You can’t perform that action at this time.
0 commit comments