public async Task <ActionResult> Post([FromBody] AddInventoryReq request) { var item = this.TransformToItemResp(request.Item); var constraints = this.TransformToConstraints(request.Constraints); var msg = new AddInventoryMsg(request.Qty, item, constraints); var vm = await this.mediator.Send(msg); return(this.Created(new Uri($"{this.Request.GetDisplayUrl()}/api/Inventory/{vm.Id}"), vm)); }
public async Task AddInventory() { var item = new InventoryItemRst("name", "sku", 20, "manu", ItemCategory.Milk, "name", 10); var constraint = new InventoryConstraintRst(InventoryConstraintType.MaxQty, "10", TypeCode.Int32); var expect = new InventoryRst(this.id.ToString(), 10, item, new[] { constraint }); var msg = new AddInventoryMsg(10, item, new[] { constraint }); var itemTranslator = new InventoryItemsTranslator(); var constraintsTranslator = new InventoryConstrainsTranslator(); var svc = new AddInventorySvc(itemTranslator, constraintsTranslator, mockRepository); var actual = await svc.Handle(msg, new CancellationToken()); actual.Should().Be(expect); }