@@ -233,16 +233,22 @@ public async Task TestVisitedAsync(string url)
233
233
public async Task TestGetVisitedListAsync ( )
234
234
{
235
235
var userId = Guid . Parse ( "A9C8E0DD-1E9C-474D-8FE7-8BA9672D53D1" ) ;
236
- var data = new List < UserVisitedModel > ( ) ;
236
+ var data = new List < UserVisitedModel > ( ) {
237
+ new UserVisitedModel
238
+ {
239
+ Name = "baidu" ,
240
+ Url = "https://www.baidu.com/"
241
+ }
242
+ } ;
237
243
var requestUri = $ "api/user/visitedList";
238
244
var callerProvider = new Mock < ICallerProvider > ( ) ;
239
- callerProvider . Setup ( provider => provider . GetAsync < object , List < UserVisitedModel > > ( requestUri , new { userId = userId } , default ) ) . ReturnsAsync ( data ) . Verifiable ( ) ;
245
+ callerProvider . Setup ( provider => provider . GetAsync < object , List < UserVisitedModel > > ( requestUri , It . IsAny < object > ( ) , default ) ) . ReturnsAsync ( data ) . Verifiable ( ) ;
240
246
var userContext = new Mock < IUserContext > ( ) ;
241
247
userContext . Setup ( user => user . GetUserId < Guid > ( ) ) . Returns ( userId ) . Verifiable ( ) ;
242
248
var userService = new UserService ( callerProvider . Object , userContext . Object ) ;
243
249
var result = await userService . GetVisitedListAsync ( ) ;
244
250
callerProvider . Verify ( provider => provider . GetAsync < object , List < UserVisitedModel > > ( requestUri , It . IsAny < object > ( ) , default ) , Times . Once ) ;
245
- Assert . IsTrue ( result is not null ) ;
251
+ Assert . IsTrue ( result . Count == 1 ) ;
246
252
}
247
253
248
254
[ TestMethod ]
@@ -306,5 +312,87 @@ public async Task GetUserPortraitsAsync()
306
312
callerProvider . Verify ( provider => provider . PostAsync < Guid [ ] , List < UserPortraitModel > > ( requestUri , new Guid [ ] { userId } , default ) , Times . Once ) ;
307
313
Assert . IsTrue ( data . Count == 1 ) ;
308
314
}
315
+
316
+ [ TestMethod ]
317
+ [ DataRow ( "masa-auth" ) ]
318
+ public async Task TestIntGetUserSystemDataAsync ( string systemId )
319
+ {
320
+ var userId = Guid . Parse ( "A9C8E0DD-1E9C-474D-8FE7-8BA9672D53D1" ) ;
321
+ var data = 1 ;
322
+ var requestUri = $ "api/user/GetUserSystemData";
323
+ var callerProvider = new Mock < ICallerProvider > ( ) ;
324
+ callerProvider . Setup ( provider => provider . GetAsync < object , string > ( requestUri , It . IsAny < object > ( ) , default ) )
325
+ . ReturnsAsync ( data . ToString ( ) ) . Verifiable ( ) ;
326
+ var userContext = new Mock < IUserContext > ( ) ;
327
+ userContext . Setup ( user => user . GetUserId < Guid > ( ) ) . Returns ( userId ) . Verifiable ( ) ;
328
+ var userService = new UserService ( callerProvider . Object , userContext . Object ) ;
329
+ var result = await userService . GetUserSystemDataAsync < int > ( systemId ) ;
330
+ Assert . IsTrue ( result == 1 ) ;
331
+ }
332
+
333
+ [ TestMethod ]
334
+ [ DataRow ( "masa-auth" ) ]
335
+ public async Task TestObjectGetUserSystemDataAsync ( string systemId )
336
+ {
337
+ var userId = Guid . Parse ( "A9C8E0DD-1E9C-474D-8FE7-8BA9672D53D1" ) ;
338
+ var data = new SystemData
339
+ {
340
+ Name = "name" ,
341
+ Value = "value"
342
+ } ;
343
+ var requestUri = $ "api/user/GetUserSystemData";
344
+ var callerProvider = new Mock < ICallerProvider > ( ) ;
345
+ callerProvider . Setup ( provider => provider . GetAsync < object , string > ( requestUri , It . IsAny < object > ( ) , default ) )
346
+ . ReturnsAsync ( JsonSerializer . Serialize ( data ) ) . Verifiable ( ) ;
347
+ var userContext = new Mock < IUserContext > ( ) ;
348
+ userContext . Setup ( user => user . GetUserId < Guid > ( ) ) . Returns ( userId ) . Verifiable ( ) ;
349
+ var userService = new UserService ( callerProvider . Object , userContext . Object ) ;
350
+ var result = await userService . GetUserSystemDataAsync < SystemData > ( systemId ) ;
351
+ Assert . IsTrue ( result is not null ) ;
352
+ }
353
+
354
+ [ TestMethod ]
355
+ [ DataRow ( "masa-auth" ) ]
356
+ public async Task TestIntSaveUserSystemDataAsync ( string systemId )
357
+ {
358
+ var userId = Guid . Parse ( "A9C8E0DD-1E9C-474D-8FE7-8BA9672D53D1" ) ;
359
+ var requestUri = $ "api/user/UserSystemData";
360
+ var value = 1 ;
361
+ var data = new { UserId = userId , SystemId = systemId , Data = JsonSerializer . Serialize ( value ) } ;
362
+ var callerProvider = new Mock < ICallerProvider > ( ) ;
363
+ callerProvider . Setup ( provider => provider . PostAsync < object > ( requestUri , data , true , default ) ) . Verifiable ( ) ;
364
+ var userContext = new Mock < IUserContext > ( ) ;
365
+ userContext . Setup ( user => user . GetUserId < Guid > ( ) ) . Returns ( userId ) . Verifiable ( ) ;
366
+ var userService = new UserService ( callerProvider . Object , userContext . Object ) ;
367
+ await userService . SaveUserSystemDataAsync ( systemId , value ) ;
368
+ callerProvider . Verify ( provider => provider . PostAsync < object > ( requestUri , It . IsAny < object > ( ) , true , default ) , Times . Once ) ;
369
+ }
370
+
371
+ [ TestMethod ]
372
+ [ DataRow ( "masa-auth" ) ]
373
+ public async Task TestObjectSaveUserSystemDataAsync ( string systemId )
374
+ {
375
+ var userId = Guid . Parse ( "A9C8E0DD-1E9C-474D-8FE7-8BA9672D53D1" ) ;
376
+ var requestUri = $ "api/user/UserSystemData";
377
+ var value = new SystemData
378
+ {
379
+ Name = "name" ,
380
+ Value = "value"
381
+ } ;
382
+ var data = new { UserId = userId , SystemId = systemId , Data = JsonSerializer . Serialize ( value ) } ;
383
+ var callerProvider = new Mock < ICallerProvider > ( ) ;
384
+ callerProvider . Setup ( provider => provider . PostAsync < object > ( requestUri , data , true , default ) ) . Verifiable ( ) ;
385
+ var userContext = new Mock < IUserContext > ( ) ;
386
+ userContext . Setup ( user => user . GetUserId < Guid > ( ) ) . Returns ( userId ) . Verifiable ( ) ;
387
+ var userService = new UserService ( callerProvider . Object , userContext . Object ) ;
388
+ await userService . SaveUserSystemDataAsync ( systemId , value ) ;
389
+ callerProvider . Verify ( provider => provider . PostAsync < object > ( requestUri , It . IsAny < object > ( ) , true , default ) , Times . Once ) ;
390
+ }
309
391
}
310
392
393
+
394
+ class SystemData
395
+ {
396
+ public string Name { get ; set ; }
397
+ public string Value { get ; set ; }
398
+ }
0 commit comments