public void Place_ShouldHaveError()
        {
            // Arrange

            var unitUnderTest = new PlaceGarmentSewingOutCommand();

            // Action
            var validator = GetValidationRules();
            var result    = validator.TestValidate(unitUnderTest);

            // Assert
            result.ShouldHaveError();
        }
Пример #2
0
        public async Task <IActionResult> Post([FromBody] PlaceGarmentSewingOutCommand command)
        {
            try
            {
                VerifyUser();

                var order = await Mediator.Send(command);

                return(Ok(order.Identity));
            }
            catch (Exception e)
            {
                throw e;
            }
        }
        public void Place_HaveError_Date()
        {
            // Arrange
            var validator     = GetValidationRules();
            var unitUnderTest = new PlaceGarmentSewingOutCommand();

            unitUnderTest.SewingOutDate = DateTimeOffset.Now.AddDays(-7);
            unitUnderTest.SewingInDate  = DateTimeOffset.Now;

            // Action
            var result = validator.TestValidate(unitUnderTest);

            // Assert
            result.ShouldHaveError();
        }
Пример #4
0
        public async Task Handle_StateUnderTest_ExpectedBehavior()
        {
            // Arrange
            Guid sewingInItemGuid = Guid.NewGuid();
            PlaceGarmentSewingOutCommandHandler unitUnderTest         = CreatePlaceGarmentSewingOutCommandHandler();
            CancellationToken            cancellationToken            = CancellationToken.None;
            PlaceGarmentSewingOutCommand placeGarmentSewingOutCommand = new PlaceGarmentSewingOutCommand()
            {
                RONo            = "RONo",
                Unit            = new UnitDepartment(1, "UnitCode", "UnitName"),
                UnitTo          = new UnitDepartment(2, "UnitCode2", "UnitName2"),
                Article         = "Article",
                IsDifferentSize = true,
                Buyer           = new Buyer(1, "BuyerCode", "BuyerName"),
                SewingTo        = "CUTTING",
                Comodity        = new GarmentComodity(1, "ComoCode", "ComoName"),
                SewingOutDate   = DateTimeOffset.Now,
                Items           = new List <GarmentSewingOutItemValueObject>
                {
                    new GarmentSewingOutItemValueObject
                    {
                        Product        = new Product(1, "ProductCode", "ProductName"),
                        Uom            = new Uom(1, "UomUnit"),
                        SewingInId     = new Guid(),
                        SewingInItemId = sewingInItemGuid,
                        Color          = "Color",
                        Size           = new SizeValueObject(1, "Size"),
                        IsSave         = true,
                        Quantity       = 1,
                        DesignColor    = "ColorD",
                        Details        = new List <GarmentSewingOutDetailValueObject>
                        {
                            new GarmentSewingOutDetailValueObject
                            {
                                Size     = new SizeValueObject(1, "Size"),
                                Uom      = new Uom(1, "UomUnit"),
                                Quantity = 1
                            }
                        }
                    }
                },
            };

            _mockSewingOutRepository
            .Setup(s => s.Query)
            .Returns(new List <GarmentSewingOutReadModel>().AsQueryable());
            _mockSewingInItemRepository
            .Setup(s => s.Query)
            .Returns(new List <GarmentSewingInItemReadModel>
            {
                new GarmentSewingInItemReadModel(sewingInItemGuid)
            }.AsQueryable());

            _mockCuttingInRepository
            .Setup(s => s.Query)
            .Returns(new List <GarmentCuttingInReadModel>().AsQueryable());

            GarmentComodityPrice garmentComodity = new GarmentComodityPrice(
                Guid.NewGuid(),
                true,
                DateTimeOffset.Now,
                new UnitDepartmentId(placeGarmentSewingOutCommand.Unit.Id),
                placeGarmentSewingOutCommand.Unit.Code,
                placeGarmentSewingOutCommand.Unit.Name,
                new GarmentComodityId(placeGarmentSewingOutCommand.Comodity.Id),
                placeGarmentSewingOutCommand.Comodity.Code,
                placeGarmentSewingOutCommand.Comodity.Name,
                1000
                );

            _mockComodityPriceRepository
            .Setup(s => s.Query)
            .Returns(new List <GarmentComodityPriceReadModel>
            {
                garmentComodity.GetReadModel()
            }.AsQueryable());


            _mockSewingOutRepository
            .Setup(s => s.Update(It.IsAny <GarmentSewingOut>()))
            .Returns(Task.FromResult(It.IsAny <GarmentSewingOut>()));
            _mockSewingOutItemRepository
            .Setup(s => s.Update(It.IsAny <GarmentSewingOutItem>()))
            .Returns(Task.FromResult(It.IsAny <GarmentSewingOutItem>()));
            _mockSewingOutDetailRepository
            .Setup(s => s.Update(It.IsAny <GarmentSewingOutDetail>()))
            .Returns(Task.FromResult(It.IsAny <GarmentSewingOutDetail>()));
            _mockSewingInItemRepository
            .Setup(s => s.Update(It.IsAny <GarmentSewingInItem>()))
            .Returns(Task.FromResult(It.IsAny <GarmentSewingInItem>()));


            _mockCuttingInRepository
            .Setup(s => s.Update(It.IsAny <GarmentCuttingIn>()))
            .Returns(Task.FromResult(It.IsAny <GarmentCuttingIn>()));
            _mockCuttingInItemRepository
            .Setup(s => s.Update(It.IsAny <GarmentCuttingInItem>()))
            .Returns(Task.FromResult(It.IsAny <GarmentCuttingInItem>()));
            _mockCuttingInDetailRepository
            .Setup(s => s.Update(It.IsAny <GarmentCuttingInDetail>()))
            .Returns(Task.FromResult(It.IsAny <GarmentCuttingInDetail>()));

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

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

            // Assert
            result.Should().NotBeNull();
        }
        public void Place_ShouldNotHaveError()
        {
            // Arrange
            Guid id            = Guid.NewGuid();
            var  unitUnderTest = new PlaceGarmentSewingOutCommand()
            {
                IsUsed   = true,
                IsSave   = true,
                Article  = "Article",
                Price    = 1,
                RONo     = "RONo",
                Comodity = new GarmentComodity()
                {
                    Id   = 1,
                    Code = "Code",
                    Name = "Name"
                },
                Buyer = new Buyer()
                {
                    Id   = 1,
                    Code = "Code",
                    Name = "Name"
                },
                IsDifferentSize = true,
                SewingOutDate   = DateTimeOffset.Now,
                SewingInDate    = DateTimeOffset.Now,
                SewingOutNo     = "SewingOutNo",
                SewingTo        = "SewingTo",
                Unit            = new UnitDepartment()
                {
                    Id   = 1,
                    Code = "Code",
                    Name = "Name"
                },
                UnitTo = new UnitDepartment()
                {
                    Id   = 1,
                    Code = "Code",
                    Name = "Name"
                },
                Items = new List <GarmentSewingOutItemValueObject>()
                {
                    new GarmentSewingOutItemValueObject()
                    {
                        BasicPrice      = 1,
                        Color           = "Color",
                        DesignColor     = "DesignColor",
                        Id              = id,
                        IsDifferentSize = true,
                        IsSave          = true,
                        Price           = 1,
                        Product         = new Product()
                        {
                            Id   = 1,
                            Code = "Code",
                            Name = "Name"
                        },
                        Quantity          = 1,
                        SewingInId        = id,
                        RemainingQuantity = 2,
                        SewingInItemId    = id,
                        SewingInQuantity  = 1,
                        SewingOutId       = id,
                        Size = new SizeValueObject()
                        {
                            Id   = 1,
                            Size = "Size"
                        },
                        TotalQuantity = 1,
                        Uom           = new Uom()
                        {
                            Id   = 1,
                            Unit = "Unit"
                        },
                        Details = new List <GarmentSewingOutDetailValueObject>()
                        {
                            new GarmentSewingOutDetailValueObject()
                            {
                                Id              = id,
                                Quantity        = 1,
                                SewingOutItemId = id,
                                Size            = new SizeValueObject()
                                {
                                    Id   = 1,
                                    Size = "Size"
                                },
                                Uom = new Uom()
                                {
                                    Id   = 1,
                                    Unit = "Unit"
                                }
                            }
                        }
                    }
                }
            };
            // Action
            var validator = GetValidationRules();
            var result    = validator.TestValidate(unitUnderTest);

            // Assert
            result.ShouldNotHaveError();
        }