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)); }