2
2
* Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
3
* SPDX-License-Identifier: Apache-2.0
4
4
*/
5
+
5
6
import * as assert from 'assert'
6
7
import * as vscode from 'vscode'
7
8
import * as sinon from 'sinon'
@@ -34,6 +35,8 @@ describe('recommendationHandler', function () {
34
35
sinon . restore ( )
35
36
resetCodeWhispererGlobalVariables ( )
36
37
sinon . stub ( mockClient , 'listRecommendations' )
38
+ sinon . stub ( mockClient , 'generateRecommendations' )
39
+ RecommendationHandler . instance . clearRecommendations ( )
37
40
} )
38
41
39
42
afterEach ( function ( ) {
@@ -52,17 +55,16 @@ describe('recommendationHandler', function () {
52
55
} ,
53
56
} ,
54
57
}
55
- const recommendationHandler = new RecommendationHandler ( )
56
- sinon . stub ( recommendationHandler , 'getServerResponse' ) . resolves ( mockServerResult )
57
- await recommendationHandler . getRecommendations (
58
+ sinon . stub ( RecommendationHandler . instance , 'getServerResponse' ) . resolves ( mockServerResult )
59
+ await RecommendationHandler . instance . getRecommendations (
58
60
mockClient ,
59
61
mockEditor ,
60
62
'AutoTrigger' ,
61
63
config ,
62
64
'Enter' ,
63
65
false
64
66
)
65
- const actual = recommendationHandler . recommendations
67
+ const actual = RecommendationHandler . instance . recommendations
66
68
const expected : RecommendationsList = [ { content : "print('Hello World!')" } ]
67
69
assert . deepStrictEqual ( actual , expected )
68
70
} )
@@ -79,18 +81,17 @@ describe('recommendationHandler', function () {
79
81
} ,
80
82
} ,
81
83
}
82
- const recommendationHandler = new RecommendationHandler ( )
83
- sinon . stub ( recommendationHandler , 'getServerResponse' ) . resolves ( mockServerResult )
84
- await recommendationHandler . getRecommendations (
84
+ sinon . stub ( RecommendationHandler . instance , 'getServerResponse' ) . resolves ( mockServerResult )
85
+ await RecommendationHandler . instance . getRecommendations (
85
86
mockClient ,
86
87
mockEditor ,
87
88
'AutoTrigger' ,
88
89
config ,
89
90
'Enter' ,
90
91
false
91
92
)
92
- assert . strictEqual ( recommendationHandler . requestId , 'test_request' )
93
- assert . strictEqual ( recommendationHandler . sessionId , 'test_request' )
93
+ assert . strictEqual ( RecommendationHandler . instance . requestId , 'test_request' )
94
+ assert . strictEqual ( RecommendationHandler . instance . sessionId , 'test_request' )
94
95
assert . strictEqual ( TelemetryHelper . instance . triggerType , 'AutoTrigger' )
95
96
} )
96
97
@@ -106,12 +107,17 @@ describe('recommendationHandler', function () {
106
107
} ,
107
108
} ,
108
109
}
109
- const recommendationHandler = new RecommendationHandler ( )
110
- sinon . stub ( recommendationHandler , 'getServerResponse' ) . resolves ( mockServerResult )
110
+ sinon . stub ( RecommendationHandler . instance , 'getServerResponse' ) . resolves ( mockServerResult )
111
111
sinon . stub ( performance , 'now' ) . returns ( 0.0 )
112
- recommendationHandler . startPos = new vscode . Position ( 1 , 0 )
112
+ RecommendationHandler . instance . startPos = new vscode . Position ( 1 , 0 )
113
113
TelemetryHelper . instance . cursorOffset = 2
114
- await recommendationHandler . getRecommendations ( mockClient , mockEditor , 'AutoTrigger' , config , 'Enter' )
114
+ await RecommendationHandler . instance . getRecommendations (
115
+ mockClient ,
116
+ mockEditor ,
117
+ 'AutoTrigger' ,
118
+ config ,
119
+ 'Enter'
120
+ )
115
121
const assertTelemetry = assertTelemetryCurried ( 'codewhisperer_serviceInvocation' )
116
122
assertTelemetry ( {
117
123
codewhispererRequestId : 'test_request' ,
0 commit comments