@@ -12,12 +12,19 @@ namespace GitHubExtension.Test.Controls;
12
12
[ TestClass ]
13
13
public class GitHubQueryValidationTests
14
14
{
15
+ public SaveSearchForm CreateSaveSearchForm ( Mock < ISearchRepository > mockSearchRepository )
16
+ {
17
+ var mockResources = new Mock < IResources > ( ) ;
18
+ var savedSearchesMediator = new SavedSearchesMediator ( ) ;
19
+ return new SaveSearchForm ( mockSearchRepository . Object , mockResources . Object , savedSearchesMediator ) ;
20
+ }
21
+
15
22
[ TestMethod ]
16
23
public async Task ValidateSearch_SupportsIsOpenKeyword ( )
17
24
{
18
25
var mockSearchRepository = new Mock < ISearchRepository > ( ) ;
19
26
var mockResources = new Mock < IResources > ( ) ;
20
- var saveSearchForm = new SaveSearchForm ( mockSearchRepository . Object , mockResources . Object ) ;
27
+ var saveSearchForm = CreateSaveSearchForm ( mockSearchRepository ) ;
21
28
22
29
var searchString = "is:open" ;
23
30
var search = new SearchCandidate ( searchString , "Test Search" ) ;
@@ -35,7 +42,7 @@ public async Task ValidateSearch_SupportsIsIssueKeyword()
35
42
{
36
43
var mockSearchRepository = new Mock < ISearchRepository > ( ) ;
37
44
var mockResources = new Mock < IResources > ( ) ;
38
- var saveSearchForm = new SaveSearchForm ( mockSearchRepository . Object , mockResources . Object ) ;
45
+ var saveSearchForm = CreateSaveSearchForm ( mockSearchRepository ) ;
39
46
40
47
var searchString = "is:issue" ;
41
48
var search = new SearchCandidate ( searchString , "Test Search" ) ;
@@ -53,7 +60,7 @@ public async Task ValidateSearch_SupportsIsPullRequestKeyword()
53
60
{
54
61
var mockSearchRepository = new Mock < ISearchRepository > ( ) ;
55
62
var mockResources = new Mock < IResources > ( ) ;
56
- var saveSearchForm = new SaveSearchForm ( mockSearchRepository . Object , mockResources . Object ) ;
63
+ var saveSearchForm = CreateSaveSearchForm ( mockSearchRepository ) ;
57
64
58
65
var searchString = "is:pr" ;
59
66
var search = new SearchCandidate ( searchString , "Test Search" ) ;
@@ -70,7 +77,7 @@ public async Task ValidateSearch_SupportsMultipleKeywords()
70
77
{
71
78
var mockSearchRepository = new Mock < ISearchRepository > ( ) ;
72
79
var mockResources = new Mock < IResources > ( ) ;
73
- var saveSearchForm = new SaveSearchForm ( mockSearchRepository . Object , mockResources . Object ) ;
80
+ var saveSearchForm = CreateSaveSearchForm ( mockSearchRepository ) ;
74
81
75
82
var searchString = "is:open is:issue" ;
76
83
var search = new SearchCandidate ( searchString , "Test Search" ) ;
@@ -87,7 +94,7 @@ public async Task ValidateSearch_SupportsRepoQualifier()
87
94
{
88
95
var mockSearchRepository = new Mock < ISearchRepository > ( ) ;
89
96
var mockResources = new Mock < IResources > ( ) ;
90
- var saveSearchForm = new SaveSearchForm ( mockSearchRepository . Object , mockResources . Object ) ;
97
+ var saveSearchForm = CreateSaveSearchForm ( mockSearchRepository ) ;
91
98
92
99
var searchString = "is:issue repo:microsoft/PowerToys" ;
93
100
@@ -103,7 +110,7 @@ public async Task ValidateSearch_SupportsAuthorQualifier()
103
110
{
104
111
var mockSearchRepository = new Mock < ISearchRepository > ( ) ;
105
112
var mockResources = new Mock < IResources > ( ) ;
106
- var saveSearchForm = new SaveSearchForm ( mockSearchRepository . Object , mockResources . Object ) ;
113
+ var saveSearchForm = CreateSaveSearchForm ( mockSearchRepository ) ;
107
114
108
115
var searchString = "is:pr author:octocat" ;
109
116
@@ -119,7 +126,7 @@ public async Task ValidateSearch_SupportsStateAndLabelQualifiers()
119
126
{
120
127
var mockSearchRepository = new Mock < ISearchRepository > ( ) ;
121
128
var mockResources = new Mock < IResources > ( ) ;
122
- var saveSearchForm = new SaveSearchForm ( mockSearchRepository . Object , mockResources . Object ) ;
129
+ var saveSearchForm = CreateSaveSearchForm ( mockSearchRepository ) ;
123
130
124
131
var searchString = "state:open label:bug" ;
125
132
@@ -135,7 +142,7 @@ public async Task ValidateSearch_SupportsInvolvesAndLanguageQualifiers()
135
142
{
136
143
var mockSearchRepository = new Mock < ISearchRepository > ( ) ;
137
144
var mockResources = new Mock < IResources > ( ) ;
138
- var saveSearchForm = new SaveSearchForm ( mockSearchRepository . Object , mockResources . Object ) ;
145
+ var saveSearchForm = CreateSaveSearchForm ( mockSearchRepository ) ;
139
146
140
147
var searchString = "involves:defunkt language:javascript" ;
141
148
@@ -151,7 +158,7 @@ public async Task ValidateSearch_SupportsOrgAndCreatedQualifiers()
151
158
{
152
159
var mockSearchRepository = new Mock < ISearchRepository > ( ) ;
153
160
var mockResources = new Mock < IResources > ( ) ;
154
- var saveSearchForm = new SaveSearchForm ( mockSearchRepository . Object , mockResources . Object ) ;
161
+ var saveSearchForm = CreateSaveSearchForm ( mockSearchRepository ) ;
155
162
156
163
var searchString = "org:github created:>2022-01-01" ;
157
164
@@ -167,7 +174,7 @@ public async Task ValidateSearch_SupportsAssigneeAndMilestoneQualifiers()
167
174
{
168
175
var mockSearchRepository = new Mock < ISearchRepository > ( ) ;
169
176
var mockResources = new Mock < IResources > ( ) ;
170
- var saveSearchForm = new SaveSearchForm ( mockSearchRepository . Object , mockResources . Object ) ;
177
+ var saveSearchForm = CreateSaveSearchForm ( mockSearchRepository ) ;
171
178
172
179
var searchString = "is:issue assignee:@me milestone:v1.0" ;
173
180
@@ -183,7 +190,7 @@ public async Task ValidateSearch_SupportsReviewQualifier()
183
190
{
184
191
var mockSearchRepository = new Mock < ISearchRepository > ( ) ;
185
192
var mockResources = new Mock < IResources > ( ) ;
186
- var saveSearchForm = new SaveSearchForm ( mockSearchRepository . Object , mockResources . Object ) ;
193
+ var saveSearchForm = CreateSaveSearchForm ( mockSearchRepository ) ;
187
194
188
195
var searchString = "is:pr review:approved" ;
189
196
@@ -199,7 +206,7 @@ public async Task ValidateSearch_SupportsInQualifier()
199
206
{
200
207
var mockSearchRepository = new Mock < ISearchRepository > ( ) ;
201
208
var mockResources = new Mock < IResources > ( ) ;
202
- var saveSearchForm = new SaveSearchForm ( mockSearchRepository . Object , mockResources . Object ) ;
209
+ var saveSearchForm = CreateSaveSearchForm ( mockSearchRepository ) ;
203
210
204
211
var searchString = "is:issue in:title error" ;
205
212
@@ -215,7 +222,7 @@ public async Task ValidateSearch_SupportsMergedDateQualifier()
215
222
{
216
223
var mockSearchRepository = new Mock < ISearchRepository > ( ) ;
217
224
var mockResources = new Mock < IResources > ( ) ;
218
- var saveSearchForm = new SaveSearchForm ( mockSearchRepository . Object , mockResources . Object ) ;
225
+ var saveSearchForm = CreateSaveSearchForm ( mockSearchRepository ) ;
219
226
220
227
var searchString = "is:pr merged:>=2023-01-01" ;
221
228
@@ -231,7 +238,7 @@ public async Task ValidateSearch_SupportsSingleLabelQualifier()
231
238
{
232
239
var mockSearchRepository = new Mock < ISearchRepository > ( ) ;
233
240
var mockResources = new Mock < IResources > ( ) ;
234
- var saveSearchForm = new SaveSearchForm ( mockSearchRepository . Object , mockResources . Object ) ;
241
+ var saveSearchForm = CreateSaveSearchForm ( mockSearchRepository ) ;
235
242
236
243
var searchString = "label:enhancement" ;
237
244
@@ -247,7 +254,7 @@ public async Task ValidateSearch_SupportsMultipleLabelQualifiers()
247
254
{
248
255
var mockSearchRepository = new Mock < ISearchRepository > ( ) ;
249
256
var mockResources = new Mock < IResources > ( ) ;
250
- var saveSearchForm = new SaveSearchForm ( mockSearchRepository . Object , mockResources . Object ) ;
257
+ var saveSearchForm = CreateSaveSearchForm ( mockSearchRepository ) ;
251
258
252
259
var searchString = "label:bug label:help-wanted label:documentation" ;
253
260
@@ -263,7 +270,7 @@ public async Task ValidateSearch_SupportsExcludingLabel()
263
270
{
264
271
var mockSearchRepository = new Mock < ISearchRepository > ( ) ;
265
272
var mockResources = new Mock < IResources > ( ) ;
266
- var saveSearchForm = new SaveSearchForm ( mockSearchRepository . Object , mockResources . Object ) ;
273
+ var saveSearchForm = CreateSaveSearchForm ( mockSearchRepository ) ;
267
274
268
275
var searchString = "-label:wontfix" ;
269
276
@@ -279,7 +286,7 @@ public async Task ValidateSearch_SupportsExcludingMultipleLabels()
279
286
{
280
287
var mockSearchRepository = new Mock < ISearchRepository > ( ) ;
281
288
var mockResources = new Mock < IResources > ( ) ;
282
- var saveSearchForm = new SaveSearchForm ( mockSearchRepository . Object , mockResources . Object ) ;
289
+ var saveSearchForm = CreateSaveSearchForm ( mockSearchRepository ) ;
283
290
284
291
var searchString = "-label:wontfix -label:duplicate -label:invalid" ;
285
292
@@ -295,7 +302,7 @@ public async Task ValidateSearch_SupportsExcludingOtherQualifiers()
295
302
{
296
303
var mockSearchRepository = new Mock < ISearchRepository > ( ) ;
297
304
var mockResources = new Mock < IResources > ( ) ;
298
- var saveSearchForm = new SaveSearchForm ( mockSearchRepository . Object , mockResources . Object ) ;
305
+ var saveSearchForm = CreateSaveSearchForm ( mockSearchRepository ) ;
299
306
300
307
var searchString = "is:issue -is:closed -author:bot" ;
301
308
@@ -312,7 +319,7 @@ public async Task ValidateSearch_SupportsMixOfIncludeAndExcludeQualifiers()
312
319
{
313
320
var mockSearchRepository = new Mock < ISearchRepository > ( ) ;
314
321
var mockResources = new Mock < IResources > ( ) ;
315
- var saveSearchForm = new SaveSearchForm ( mockSearchRepository . Object , mockResources . Object ) ;
322
+ var saveSearchForm = CreateSaveSearchForm ( mockSearchRepository ) ;
316
323
317
324
var searchString = "is:pr label:enhancement -label:wontfix repo:microsoft/PowerToys -is:draft" ;
318
325
@@ -329,7 +336,7 @@ public async Task ValidateSearch_SupportsBooleanOperators()
329
336
{
330
337
var mockSearchRepository = new Mock < ISearchRepository > ( ) ;
331
338
var mockResources = new Mock < IResources > ( ) ;
332
- var saveSearchForm = new SaveSearchForm ( mockSearchRepository . Object , mockResources . Object ) ;
339
+ var saveSearchForm = CreateSaveSearchForm ( mockSearchRepository ) ;
333
340
334
341
var searchString = "is:open AND (is:issue OR is:pr) NOT author:bot devhome" ;
335
342
var search = new SearchCandidate ( searchString , "Test Search" ) ;
@@ -346,7 +353,7 @@ public async Task ValidateSearch_SupportsMultipleRepositories()
346
353
{
347
354
var mockSearchRepository = new Mock < ISearchRepository > ( ) ;
348
355
var mockResources = new Mock < IResources > ( ) ;
349
- var saveSearchForm = new SaveSearchForm ( mockSearchRepository . Object , mockResources . Object ) ;
356
+ var saveSearchForm = CreateSaveSearchForm ( mockSearchRepository ) ;
350
357
351
358
var searchString = "repo:microsoft/terminal repo:microsoft/PowerToys repo:microsoft/vscode is:open is:issue" ;
352
359
var search = new SearchCandidate ( searchString , "Test Search" ) ;
0 commit comments