ApiControllerTest.cs 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. using Admin.Core.Common.Input;
  2. using Admin.Core.Model.Admin;
  3. using Newtonsoft.Json;
  4. using Newtonsoft.Json.Linq;
  5. using System.Net;
  6. using System.Net.Http;
  7. using System.Threading.Tasks;
  8. using Xunit;
  9. namespace Admin.Core.Tests.Controller.Admin
  10. {
  11. public class ApiControllerTest : BaseControllerTest
  12. {
  13. public ApiControllerTest() : base()
  14. {
  15. }
  16. private async Task<JObject> GetResult(string apiPath, HttpContent httpContent = null)
  17. {
  18. await Login();
  19. var res = httpContent != null ? await Client.PostAsync(apiPath, httpContent) : await Client.GetAsync(apiPath);
  20. Assert.Equal(HttpStatusCode.OK, res.StatusCode);
  21. var content = await res.Content.ReadAsStringAsync();
  22. return JsonConvert.DeserializeObject<JObject>(content);
  23. }
  24. [Fact]
  25. public async Task Get()
  26. {
  27. var jObject = await GetResult("/api/admin/api/get?id=161227167658053");
  28. Assert.Equal(1, jObject["code"]);
  29. }
  30. [Fact]
  31. public async Task GetList()
  32. {
  33. var jObject = await GetResult("/api/admin/api/getlist?key=接口管理");
  34. Assert.Equal(1, jObject["code"]);
  35. }
  36. [Fact]
  37. public async Task GetPage()
  38. {
  39. var input = new PageInput<ApiEntity>
  40. {
  41. CurrentPage = 1,
  42. PageSize = 20,
  43. Filter = new ApiEntity
  44. {
  45. Label = "接口管理"
  46. }
  47. };
  48. HttpContent httpContent = new StringContent(JsonConvert.SerializeObject(input));
  49. var jObject = await GetResult($"/api/admin/api/getpage", httpContent);
  50. Assert.Equal(1, jObject["code"]);
  51. }
  52. }
  53. }