using System.Net; using System.Net.Http; using System.Text.Json; using System.Threading.Tasks; using Shouldly; using Volo.Abp.AspNetCore.TestBase; namespace Skcks.Study.AbpProject; public abstract class AbpProjectWebTestBase : AbpWebApplicationFactoryIntegratedTest { protected virtual async Task GetResponseAsObjectAsync(string url, HttpStatusCode expectedStatusCode = HttpStatusCode.OK) { var strResponse = await GetResponseAsStringAsync(url, expectedStatusCode); return JsonSerializer.Deserialize(strResponse, new JsonSerializerOptions(JsonSerializerDefaults.Web))!; } protected virtual async Task GetResponseAsStringAsync(string url, HttpStatusCode expectedStatusCode = HttpStatusCode.OK) { var response = await GetResponseAsync(url, expectedStatusCode); return await response.Content.ReadAsStringAsync(); } protected virtual async Task GetResponseAsync(string url, HttpStatusCode expectedStatusCode = HttpStatusCode.OK) { var response = await Client.GetAsync(url); response.StatusCode.ShouldBe(expectedStatusCode); return response; } }