示例#1
0
        public async Task GetBookEndpointHandlersCorrectly()
        {
            var httpResult = await server.CreateRequest("/Book").GetAsync();

            Assert.Equal(System.Net.HttpStatusCode.OK, httpResult.StatusCode);
            var observed = await httpResult.GetJsonBody <Book[]>();

            var expected = GetBookEndpoint.AllBooks().ToArray();

            Assert.Equal(expected.Length, observed.Length);
            for (var i = 0; i < expected.Length; i++)
            {
                Assert.Equal(expected[i].Id, observed[i].Id);
                Assert.Equal(expected[i].Name, observed[i].Name);
            }
        }
 public static TestServer CreateMinimalApiServer()
 {
     var builder = new WebHostBuilder()
                   .ConfigureServices(services =>
     {
         services.AddRouting();
         services.AddMvc();
     })
                   .Configure(app =>
     {
         app.UseRouting();
         app.UseEndpoints(endpoints =>
         {
             endpoints.MapGet("Book", () => GetBookEndpoint.AllBooks().ToArray());
             endpoints.MapPost("Book", ([FromBody] Book book) => Task.FromResult(new CommandResult {
                 Successful = true, Message = book.Name
             }));
         });
     });
 public IActionResult Get()
 {
     return(Ok(GetBookEndpoint.AllBooks().ToArray()));
 }