public void Place_HaveError()
        {
            // Arrange
            var validator     = GetValidationRules();
            var unitUnderTest = new PlaceGarmentAvalProductCommand();

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

            // Assert
            result.ShouldHaveError();
        }
        public void Place_NotHaveError()
        {
            // Arrange
            Guid id            = Guid.NewGuid();
            var  unitUnderTest = new PlaceGarmentAvalProductCommand()
            {
                Article       = "Article",
                AvalDate      = DateTimeOffset.Now,
                PreparingDate = DateTimeOffset.Now,
                RONo          = "RONo",
                Unit          = new UnitDepartment()
                {
                    Id   = 1,
                    Code = "Code",
                    Name = "name"
                },
                Items = new List <GarmentAvalProductItemValueObject>()
                {
                    new GarmentAvalProductItemValueObject()
                    {
                        APId              = Guid.NewGuid(),
                        BasicPrice        = 1,
                        DesignColor       = "DesignColor",
                        Identity          = Guid.NewGuid(),
                        IsReceived        = true,
                        PreparingId       = new GarmentPreparingId(id.ToString()),
                        PreparingItemId   = new GarmentPreparingItemId(id.ToString()),
                        PreparingQuantity = 2,
                        Product           = new Product()
                        {
                            Id   = 1,
                            Code = "Code",
                            Name = "Name"
                        },
                        Quantity = 1,
                        Uom      = new Domain.GarmentAvalProducts.ValueObjects.Uom()
                        {
                            Id   = 1,
                            Unit = "Unit"
                        },
                    }
                }
            };

            var validator = GetValidationRules();

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

            // Assert
            result.ShouldNotHaveError();
        }
        public void Place_HaveError_Date()
        {
            var validator     = GetValidationRules();
            var unitUnderTest = new PlaceGarmentAvalProductCommand();

            unitUnderTest.AvalDate      = DateTimeOffset.Now.AddDays(-7);
            unitUnderTest.PreparingDate = DateTimeOffset.Now;

            var result = validator.TestValidate(unitUnderTest);

            // Assert
            result.ShouldHaveError();
        }
Beispiel #4
0
        public async Task <IActionResult> Post([FromBody] PlaceGarmentAvalProductCommand command)
        {
            try
            {
                VerifyUser();

                //var garmentAvalProductValidation = _garmentAvalProductRepository.Find(o => o.RONo == command.RONo && o.Article == command.Article && o.AvalDate == command.AvalDate).Select(o => new GarmentAvalProductDto(o)).FirstOrDefault();
                //if (garmentAvalProductValidation != null)
                //    return BadRequest(new
                //    {
                //        code = HttpStatusCode.BadRequest,
                //        error = "Data sudah ada"
                //    });

                var order = await Mediator.Send(command);

                return(Ok(order.Identity));
            }
            catch (Exception ex)
            {
                return(StatusCode((int)HttpStatusCode.InternalServerError, ex.Message));
            }
        }
        public async Task Handle_StateUnderTest_ExpectedBehavior()
        {
            // Arrange
            Guid id = Guid.NewGuid();
            PlaceGarmentAvalProductCommandHandler unitUnderTest = CreatePlaceGarmentCuttingInCommandHandler();
            CancellationToken cancellationToken = CancellationToken.None;


            // Act
            PlaceGarmentAvalProductCommand request = new PlaceGarmentAvalProductCommand()
            {
                Article  = "Article",
                AvalDate = DateTimeOffset.Now,
                Items    = new List <GarmentAvalProductItemValueObject>()
                {
                    new GarmentAvalProductItemValueObject()
                    {
                        APId              = id,
                        BasicPrice        = 1,
                        DesignColor       = "DesignColor",
                        Identity          = id,
                        IsReceived        = true,
                        PreparingId       = new GarmentPreparingId(""),
                        PreparingQuantity = 1,
                        PreparingItemId   = new GarmentPreparingItemId(""),
                        Product           = new Product(),
                        Quantity          = 1,
                        Uom = new Uom()
                    }
                },
                RONo = "RONo",
                Unit = new Domain.Shared.ValueObjects.UnitDepartment()
            };

            _mockGarmentAvalProductItemRepository
            .Setup(s => s.Update(It.IsAny <GarmentAvalProductItem>()))
            .Returns(Task.FromResult(It.IsAny <GarmentAvalProductItem>()));

            _mockGarmentPreparingItemRepository
            .Setup(s => s.Find(It.IsAny <Expression <Func <GarmentPreparingItemReadModel, bool> > >()))
            .Returns(new List <Domain.GarmentPreparings.GarmentPreparingItem>()
            {
                new Domain.GarmentPreparings.GarmentPreparingItem(id, 1, new Domain.GarmentPreparings.ValueObjects.ProductId(1), "productCode", "productName", "designColor", 1, new Domain.GarmentPreparings.ValueObjects.UomId(1), "uomUnit", "fabricType", 1, 1, id, "ro")
            });


            _mockGarmentPreparingItemRepository
            .Setup(s => s.Update(It.IsAny <Domain.GarmentPreparings.GarmentPreparingItem>()))
            .Returns(Task.FromResult(It.IsAny <Domain.GarmentPreparings.GarmentPreparingItem>()));

            _mockGarmentAvalProductRepository
            .Setup(s => s.Update(It.IsAny <GarmentAvalProduct>()))
            .Returns(Task.FromResult(It.IsAny <GarmentAvalProduct>()));

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

            var result = await unitUnderTest.Handle(request, cancellationToken);

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