public async ValueTask <ActionResult> Patch([FromRoute] string id, [FromBody] ChangeOrderItemReq req)
        {
            var cmd = new ChangeItemMsg(id, this.TransformToOrderItemVM(req.Items));

            await this.mediator.Send(cmd);

            return(this.Ok());
        }
示例#2
0
        public async Task ChangeItem()
        {
            var msg = new ChangeItemMsg(this.id.ToString(), new[]
            {
                new OrderItemRst($"prd-{DateTimeOffset.Now:yyyyMMdd}-3", 11, 11)
            });
            var cmd         = new CreateOrder(this.id, "0", OrderStatus.Initial, new[] { this.item });
            var result      = Order.Create(cmd);
            var expectedCmd = new CreateOrder(this.id, "0", OrderStatus.Initial, new[]
            {
                new OrderItem($"prd-{DateTimeOffset.Now:yyyyMMdd}-3", 11, 11),
            });
            var expect     = Order.Create(expectedCmd);
            var repository = NSubstitute.Substitute.For <IOrderRepository>();

            repository.GetBy(Arg.Any <OrderId>()).Returns(result);

            var svc = new ChangeItemSvc(this.idTranslator, this.itemsTranslator, repository);
            await svc.Handle(msg, new CancellationToken());

            result.OrderItems.First().Should().Be(expect.OrderItems.First());
        }