public async Task <IActionResult> Put(string id, [FromBody] UpdateGarmentDeliveryReturnCommand command) { Guid guid = Guid.Parse(id); command.SetId(guid); VerifyUser(); foreach (var item in command.Items) { var garmentDeliveryReturnItems = _garmentDeliveryReturnItemRepository.Find(x => x.Identity == item.Id).Single(); if (item.IsSave == true && item.Product.Name != "FABRIC") { await PutGarmentUnitExpenditureNoteCreateForDeliveryReturn(item.UENItemId, item.Quantity, garmentDeliveryReturnItems.Quantity); } else if (item.IsSave == false && item.Product.Name != "FABRIC") { await PutGarmentUnitExpenditureNoteCreateForDeliveryReturn(item.UENItemId, 0, garmentDeliveryReturnItems.Quantity); } } ; var order = await Mediator.Send(command); return(Ok(order.Identity)); }
public void Place_HaveError() { // Arrange var unitUnderTest = new UpdateGarmentDeliveryReturnCommand() { Items = new List <GarmentDeliveryReturnItemValueObject>() { new GarmentDeliveryReturnItemValueObject() { Product = new Product() } } }; // Action var validator = GetValidationRules(); var result = validator.TestValidate(unitUnderTest); // Assert result.ShouldHaveError(); }
public async Task Put_Success_When_Item_Save() { // Arrange var id = Guid.NewGuid(); var unitUnderTest = CreateGarmentDeliveryReturnController(); _MockMediator .Setup(s => s.Send(It.IsAny <UpdateGarmentDeliveryReturnCommand>(), It.IsAny <CancellationToken>())) .ReturnsAsync(new GarmentDeliveryReturn(Guid.NewGuid(), null, "RONo", null, 0, null, 0, null, DateTimeOffset.Now, null, new UnitDepartmentId(1), null, null, new StorageId(1), null, null, false)); _mockGarmentDeliveryReturnItemRepository .Setup(s => s.Find(It.IsAny <Expression <Func <GarmentDeliveryReturnItemReadModel, bool> > >())) .Returns(new List <GarmentDeliveryReturnItem>() { new GarmentDeliveryReturnItem(id, id, 0, 0, null, new ProductId(1), null, null, null, "RONo", 0, new UomId(1), null) }); UpdateGarmentDeliveryReturnCommand command = new UpdateGarmentDeliveryReturnCommand(); command.Items = new List <GarmentDeliveryReturnItemValueObject>() { new GarmentDeliveryReturnItemValueObject() { IsSave = true, Product = new Product() { Name = "NOFABRIC" } } }; // Act var result = await unitUnderTest.Put(id.ToString(), command); // Assert Assert.Equal((int)HttpStatusCode.OK, GetStatusCode(result)); }
public void Place_NotHaveError() { // Arrange Guid id = Guid.NewGuid(); var unitUnderTest = new UpdateGarmentDeliveryReturnCommand() { Article = "Article", DRNo = "DRNo", IsUsed = true, PreparingId = id.ToString(), ReturnDate = DateTimeOffset.Now, ReturnType = "ReturnType", RONo = "RONo", Storage = new Storage() { Id = 1, Code = "Code", Name = "Name" }, UENId = 1, UnitDOId = 1, UnitDONo = "UnitDONo", Unit = new UnitDepartment() { Id = 1, Code = "Code", Name = "Name" }, Items = new List <GarmentDeliveryReturnItemValueObject>() { new GarmentDeliveryReturnItemValueObject(id, id, 1, 1, id.ToString(), new Product(), "DesignColor", "roNo", 1, new Uom(), id, 1, 1, true), new GarmentDeliveryReturnItemValueObject() { IsSave = true, DesignColor = "DesignColor", DRId = id, PreparingItemId = id.ToString(), Product = new Product() { Id = 1, Code = "Code", Name = "FABRIC" }, Quantity = 1, QuantityUENItem = 1, RemainingQuantityPreparingItem = 2, RONo = "RONo", UENItemId = 1, UnitDOItemId = 1, Uom = new Uom() { Id = 1, Unit = "Unit" } } } }; // Action var validator = GetValidationRules(); var result = validator.TestValidate(unitUnderTest); // Assert result.ShouldNotHaveError(); }
public async Task Handle_when_item_save_is_true() { // Arrange Guid id = Guid.NewGuid(); UpdateGarmentDeliveryReturnCommandHandler unitUnderTest = CreateUpdateGarmentDeliveryReturnCommandHandler(); CancellationToken cancellationToken = CancellationToken.None; var garmentDeliveryReturn = new GarmentDeliveryReturn(id, "drNo", "roNo", "article", 1, "unitDONo", 1, "preparingId", DateTimeOffset.Now, "returnType", new UnitDepartmentId(1), "unitCode", "unitName", new StorageId(1), "storageName", "storageCode", true); _mockGarmentDeliveryReturnRepository .Setup(s => s.Find(It.IsAny <Expression <Func <GarmentDeliveryReturnReadModel, bool> > >())) .Returns(new List <GarmentDeliveryReturn>() { garmentDeliveryReturn }); _mockGarmentDeliveryReturnItemRepository .Setup(s => s.Find(It.IsAny <Expression <Func <GarmentDeliveryReturnItemReadModel, bool> > >())) .Returns(new List <GarmentDeliveryReturnItem>() { new GarmentDeliveryReturnItem(id, id, 1, 1, "preparingItemId", new ProductId(1), "productCode", "FABRIC", "designColor", "roNo", 1, new UomId(1), "uomUnit") }); GarmentPreparingItem garmentDeliveryReturnItem = new GarmentPreparingItem(id, 1, new Domain.GarmentPreparings.ValueObjects.ProductId(1), "productCode", "productName", "designColor", 1, new Domain.GarmentPreparings.ValueObjects.UomId(1), "uomUnit", "fabricType", 1, 1, id, null); _mockGarmentPreparingItemRepository .Setup(s => s.Query) .Returns(new List <GarmentPreparingItemReadModel>() { garmentDeliveryReturnItem.GetReadModel() }.AsQueryable()); _mockGarmentDeliveryReturnItemRepository .Setup(s => s.Update(It.IsAny <GarmentDeliveryReturnItem>())) .Returns(Task.FromResult(It.IsAny <GarmentDeliveryReturnItem>())); _mockGarmentPreparingItemRepository .Setup(s => s.Update(It.IsAny <GarmentPreparingItem>())) .Returns(Task.FromResult(It.IsAny <GarmentPreparingItem>())); _mockGarmentDeliveryReturnRepository .Setup(s => s.Update(It.IsAny <GarmentDeliveryReturn>())) .Returns(Task.FromResult(It.IsAny <GarmentDeliveryReturn>())); _MockStorage .Setup(x => x.Save()) .Verifiable(); UpdateGarmentDeliveryReturnCommand request = new UpdateGarmentDeliveryReturnCommand() { Article = "Article", DRNo = "DRNo", IsUsed = true, PreparingId = id.ToString(), ReturnDate = DateTimeOffset.Now, ReturnType = "ReturnType", RONo = "RONo", Storage = new Storage() { Id = 1, Code = "Code", Name = "Name" }, UENId = 1, UnitDOId = 1, UnitDONo = "UnitDONo", Unit = new UnitDepartment() { Id = 1, Code = "Code", Name = "Name" }, Items = new List <GarmentDeliveryReturnItemValueObject>() { new GarmentDeliveryReturnItemValueObject() { DesignColor = "DesignColor", DRId = id, Id = id, IsSave = true, PreparingItemId = id.ToString(), Product = new Product() { Id = 1, Code = "Code", Name = "FABRIC" }, Quantity = 1, QuantityUENItem = 1, RemainingQuantityPreparingItem = 1, RONo = "RONo", UENItemId = 1, UnitDOItemId = 1, Uom = new Uom() { Id = 1, Unit = "Unit" }, } } }; // Act var result = await unitUnderTest.Handle(request, cancellationToken); // Assert result.Should().NotBeNull(); }
public async Task Handle_Throws_ValidationException() { // Arrange Guid id = Guid.NewGuid(); UpdateGarmentDeliveryReturnCommandHandler unitUnderTest = CreateUpdateGarmentDeliveryReturnCommandHandler(); CancellationToken cancellationToken = CancellationToken.None; _mockGarmentDeliveryReturnRepository .Setup(s => s.Find(It.IsAny <Expression <Func <GarmentDeliveryReturnReadModel, bool> > >())) .Returns(new List <GarmentDeliveryReturn>() { }); UpdateGarmentDeliveryReturnCommand request = new UpdateGarmentDeliveryReturnCommand() { Article = "Article", DRNo = "DRNo", IsUsed = true, PreparingId = id.ToString(), ReturnDate = DateTimeOffset.Now, ReturnType = "ReturnType", RONo = "RONo", Storage = new Storage() { Id = 1, Code = "Code", Name = "Name" }, UENId = 1, UnitDOId = 1, Unit = new UnitDepartment() { Id = 1, Code = "Code", Name = "Name" }, Items = new List <GarmentDeliveryReturnItemValueObject>() { new GarmentDeliveryReturnItemValueObject() { DesignColor = "DesignColor", DRId = id, Id = id, IsSave = true, PreparingItemId = id.ToString(), Product = new Product() { Id = 1, Code = "Code", Name = "Name" }, Quantity = 1, QuantityUENItem = 1, RemainingQuantityPreparingItem = 1, RONo = "RONo", UENItemId = 1, UnitDOItemId = 1, Uom = new Uom() { Id = 1, Unit = "Unit" } } } }; // Act await Assert.ThrowsAsync <FluentValidation.ValidationException>(() => unitUnderTest.Handle(request, cancellationToken)); }