Ejemplo n.º 1
0
        public async Task CheckOrderTest()
        {
            var builder    = new WebHostBuilder().UseEnvironment("Testing").UseStartup <Startup>();
            var testServer = new TestServer(builder);
            var client     = testServer.CreateClient();
            var dbContext  = testServer.Host.Services.GetRequiredService <IDbContext>();

            dbContext.Orders.AddRange(new []
            {
                new Order {
                    Id = 1, UserEmail = "*****@*****.**"
                },
                new Order {
                    Id = 2, UserEmail = "other"
                }
            });
            await dbContext.SaveChangesAsync();

            var get1Reponse = await client.GetAsync("/orders/1");

            var get2Reponse = await client.GetAsync("/orders/2");

            var dto         = new ChangeOrderDto();
            var dtoString   = JsonConvert.SerializeObject(dto);
            var content     = new StringContent(dtoString, Encoding.UTF8, "application/json");
            var put1Reponse = await client.PutAsync("/orders/1", content);

            var put2Reponse = await client.PutAsync("/orders/2", content);

            Assert.True(get1Reponse.IsSuccessStatusCode);
            Assert.False(get2Reponse.IsSuccessStatusCode);

            Assert.True(put1Reponse.IsSuccessStatusCode);
            Assert.False(put2Reponse.IsSuccessStatusCode);
        }
Ejemplo n.º 2
0
 public async Task UpdateAsync(
     int id,
     [FromBody] ChangeOrderDto dto,
     [FromServices] ICommandHandler <UpdateOrderCommand> handler
     )
 {
     await handler.HandleAsync(new UpdateOrderCommand { Dto = dto, Id = id });
 }
Ejemplo n.º 3
0
        public async Task <int> CreateAsync(
            [FromBody] ChangeOrderDto dto,
            [FromServices] IRequestHandler <CreateOrderCommand, int> handler)
        {
            var id = await handler.HandleAsync(new CreateOrderCommand { Dto = dto });

            return(id);
        }
Ejemplo n.º 4
0
        public async Task <int> CreateAsync([FromBody] ChangeOrderDto dto)
        {
            var command = new CreateOrderCommand {
                Dto = dto
            };
            await _commandDispatcher.SendAsync(command);

            return(command.Id);
        }
        public async Task UpdateAsync(int id, ChangeOrderDto dto)
        {
            var count = await _dbContext.Orders.CountAsync(
                x => x.UserEmail == _currentUserService.Email && x.Id == id);

            if (count != 1)
            {
                throw new Exception("Order not found");
            }

            await _orderService.UpdateAsync(id, dto);
        }
Ejemplo n.º 6
0
        public async Task <int> CreateAsync(
            [FromBody] ChangeOrderDto dto,
            [FromServices] ICommandHandler <CreateOrderCommand> commandHandler,
            [FromServices] IQueryHandler <GetLastOrderIdQuery, int> queryHandler
            )
        {
            var command = new CreateOrderCommand {
                Dto = dto
            };
            await commandHandler.HandleAsync(command);

            var id = await queryHandler.HandleAsync(new GetLastOrderIdQuery());

            return(id);
        }
Ejemplo n.º 7
0
 public async Task UpdateAsync(int id, [FromBody] ChangeOrderDto dto)
 {
     await _orderService.UpdateEntityAsync(id, dto);
 }
Ejemplo n.º 8
0
 public Task <int> CreateAsync([FromBody] ChangeOrderDto dto)
 {
     return(_orderService.CreateEntityAsync(dto));
 }
 public Task <int> CreateAsync(ChangeOrderDto dto)
 {
     return(_orderService.CreateAsync(dto));
 }
Ejemplo n.º 10
0
 public Task UpdateAsync(int id, [FromBody] ChangeOrderDto dto)
 {
     return(_handlerDispatcher.SendAsync(new UpdateOrderCommand {
         Id = id, Dto = dto
     }));
 }
Ejemplo n.º 11
0
 public Task <int> CreateAsync([FromBody] ChangeOrderDto dto)
 {
     return(_handlerDispatcher.SendAsync(new CreateOrderCommand {
         Dto = dto
     }));
 }
Ejemplo n.º 12
0
 public Task UpdateAsync(int id, [FromBody] ChangeOrderDto dto)
 {
     return(_orderService.UpdateAsync(id, dto));
 }