예제 #1
0
        public async Task Handle_StateUnderTest_ExpectedBehavior()
        {
            // Arrange
            Guid id = Guid.NewGuid();
            PlaceGarmentSewingDOCommandHandler unitUnderTest = CreatePlaceGarmentSewingDOCommandHandler();
            CancellationToken cancellationToken = CancellationToken.None;

            _mockGarmentSewingDOItemRepository
            .Setup(s => s.Update(It.IsAny <GarmentSewingDOItem>()))
            .Returns(Task.FromResult(It.IsAny <GarmentSewingDOItem>()));

            GarmentSewingDO garmentSewingDO = new GarmentSewingDO(id, "sewingDONo", id, new UnitDepartmentId(1), "unitFromCode", "unitFromName", new UnitDepartmentId(1), "unitCode", "unitName", "roNo", "article", new GarmentComodityId(1), "comodityCode", "comodityName", DateTimeOffset.Now);

            _mockGarmentSewingDORepository
            .Setup(s => s.Query)
            .Returns(new List <GarmentSewingDOReadModel>
            {
                garmentSewingDO.GetReadModel()
            }.AsQueryable());

            _mockGarmentSewingDORepository
            .Setup(s => s.Update(It.IsAny <GarmentSewingDO>()))
            .Returns(Task.FromResult(It.IsAny <GarmentSewingDO>()));

            _MockStorage
            .Setup(x => x.Save())
            .Verifiable();

            // Act
            PlaceGarmentSewingDOCommand request = new PlaceGarmentSewingDOCommand()
            {
                Article  = "Article",
                Comodity = new GarmentComodity()
                {
                    Id   = 1,
                    Code = "Code",
                    Name = "Name"
                },
                CuttingOutId = id,
                RONo         = "RONo",
                SewingDODate = DateTimeOffset.Now,
                SewingDONo   = "SewingDONo",
                Unit         = new UnitDepartment()
                {
                    Id   = 1,
                    Code = "Code",
                    Name = "Name"
                },
                UnitFrom = new UnitDepartment()
                {
                    Id   = 1,
                    Code = "Code",
                    Name = "Name"
                },
                Items = new List <GarmentSewingDOItemValueObject>()
                {
                    new GarmentSewingDOItemValueObject()
                    {
                        Color              = "Color",
                        BasicPrice         = 1,
                        CuttingOutDetailId = id,
                        CuttingOutItemId   = id,
                        DesignColor        = "DesignColor",
                        Id      = id,
                        Price   = 1,
                        Product = new Product()
                        {
                            Id   = 1,
                            Code = "Code",
                            Name = "Name"
                        },
                        Quantity          = 1,
                        RemainingQuantity = 1,
                        SewingDOId        = id,
                        Size = new SizeValueObject()
                        {
                            Id   = 1,
                            Size = "1"
                        },
                        Uom = new Uom()
                        {
                            Id   = 1,
                            Unit = "Unit"
                        }
                    }
                }
            };
            var result = await unitUnderTest.Handle(request, cancellationToken);

            // Assert
            result.Should().NotBeNull();
        }
예제 #2
0
        public async Task Handle_StateUnderTest_ExpectedBehavior()
        {
            // Arrange
            Guid cuttingInGuid        = Guid.NewGuid();
            Guid cuttingOutGuid       = Guid.NewGuid();
            Guid cuttingInDetailGuid  = Guid.NewGuid();
            Guid sewingDOGuid         = Guid.NewGuid();
            Guid cuttingOutDetailGuid = Guid.NewGuid();
            Guid cuttingOutItemGuid   = Guid.NewGuid();
            RemoveGarmentCuttingOutCommandHandler unitUnderTest = CreateRemoveGarmentCuttingOutCommandHandler();
            CancellationToken cancellationToken = CancellationToken.None;
            RemoveGarmentCuttingOutCommand RemoveGarmentCuttingOutCommand = new RemoveGarmentCuttingOutCommand(cuttingOutGuid);

            _mockCuttingOutRepository
            .Setup(s => s.Query)
            .Returns(new List <GarmentCuttingOutReadModel>()
            {
                new GarmentCuttingOutReadModel(cuttingOutGuid)
            }.AsQueryable());
            _mockCuttingOutItemRepository
            .Setup(s => s.Find(It.IsAny <Expression <Func <GarmentCuttingOutItemReadModel, bool> > >()))
            .Returns(new List <GarmentCuttingOutItem>()
            {
                new GarmentCuttingOutItem(cuttingOutItemGuid, cuttingInGuid, cuttingInDetailGuid, cuttingOutGuid, new ProductId(1), null, null, null, 0)
            });

            _mockCuttingOutDetailRepository
            .Setup(s => s.Find(It.IsAny <Expression <Func <GarmentCuttingOutDetailReadModel, bool> > >()))
            .Returns(new List <GarmentCuttingOutDetail>()
            {
                new GarmentCuttingOutDetail(cuttingOutDetailGuid, Guid.Empty, new SizeId(1), null, null, 0, 0, new UomId(1), null, 0, 0)
            });

            _mockCuttingInDetailRepository
            .Setup(s => s.Query)
            .Returns(new List <GarmentCuttingInDetailReadModel>
            {
                new GarmentCuttingInDetailReadModel(cuttingInDetailGuid)
            }.AsQueryable());

            GarmentSewingDO garmentSewingDO = new GarmentSewingDO(
                sewingDOGuid, null, cuttingOutGuid, new UnitDepartmentId(1), null, null, new UnitDepartmentId(1), null,
                null, null, null, new GarmentComodityId(1), null, null, DateTimeOffset.Now);

            _mockSewingDORepository
            .Setup(s => s.Query)
            .Returns(new List <GarmentSewingDOReadModel>
            {
                garmentSewingDO.GetReadModel()
            }.AsQueryable());

            //_mockSewingDORepository
            //    .Setup(s => s.Query)
            //    .Returns(new List<GarmentSewingDOReadModel>()
            //    {
            //        new GarmentSewingDOReadModel(sewingDOGuid)
            //    }.AsQueryable());
            _mockSewingDOItemRepository
            .Setup(s => s.Find(It.IsAny <Expression <Func <GarmentSewingDOItemReadModel, bool> > >()))
            .Returns(new List <GarmentSewingDOItem>()
            {
                new GarmentSewingDOItem(Guid.Empty, sewingDOGuid, cuttingOutDetailGuid, cuttingOutItemGuid, new ProductId(1), null, null, null, new SizeId(1), null, 0, new UomId(1), null, null, 0, 0, 0)
            });

            _mockCuttingOutRepository
            .Setup(s => s.Update(It.IsAny <GarmentCuttingOut>()))
            .Returns(Task.FromResult(It.IsAny <GarmentCuttingOut>()));
            _mockCuttingOutItemRepository
            .Setup(s => s.Update(It.IsAny <GarmentCuttingOutItem>()))
            .Returns(Task.FromResult(It.IsAny <GarmentCuttingOutItem>()));
            _mockCuttingOutDetailRepository
            .Setup(s => s.Update(It.IsAny <GarmentCuttingOutDetail>()))
            .Returns(Task.FromResult(It.IsAny <GarmentCuttingOutDetail>()));
            _mockCuttingInDetailRepository
            .Setup(s => s.Update(It.IsAny <GarmentCuttingInDetail>()))
            .Returns(Task.FromResult(It.IsAny <GarmentCuttingInDetail>()));

            _mockSewingDORepository
            .Setup(s => s.Update(It.IsAny <GarmentSewingDO>()))
            .Returns(Task.FromResult(It.IsAny <GarmentSewingDO>()));
            _mockSewingDOItemRepository
            .Setup(s => s.Update(It.IsAny <GarmentSewingDOItem>()))
            .Returns(Task.FromResult(It.IsAny <GarmentSewingDOItem>()));

            _MockStorage
            .Setup(x => x.Save())
            .Verifiable();

            // Act
            var result = await unitUnderTest.Handle(RemoveGarmentCuttingOutCommand, cancellationToken);

            // Assert
            result.Should().NotBeNull();
        }