Beispiel #1
0
        public void Place_HaveError()
        {
            // Arrange
            var unitUnderTest = new PlaceGarmentLoadingCommand();

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

            // Assert
            result.ShouldHaveError();
        }
        public async Task Post_Throws_Exception()
        {
            // Arrange
            var unitUnderTest = CreateGarmentLoadingController();

            _MockMediator
            .Setup(s => s.Send(It.IsAny <PlaceGarmentLoadingCommand>(), It.IsAny <CancellationToken>()))
            .Throws(new Exception());

            // Act
            // Assert
            var command = new PlaceGarmentLoadingCommand();

            await Assert.ThrowsAsync <Exception>(() => unitUnderTest.Post(command));
        }
        public async Task <IActionResult> Post([FromBody] PlaceGarmentLoadingCommand command)
        {
            try
            {
                VerifyUser();

                var order = await Mediator.Send(command);

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

            unitUnderTest.LoadingDate  = DateTimeOffset.Now.AddDays(-7);
            unitUnderTest.SewingDODate = DateTimeOffset.Now;

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

            // Assert
            result.ShouldHaveError();
        }
        public async Task Post_StateUnderTest_ExpectedBehavior()
        {
            // Arrange
            var unitUnderTest = CreateGarmentLoadingController();

            _MockMediator
            .Setup(s => s.Send(It.IsAny <PlaceGarmentLoadingCommand>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(new GarmentLoading(Guid.NewGuid(), null, Guid.NewGuid(), null, new UnitDepartmentId(1), null, null, "RONo", null, new UnitDepartmentId(1), null, null, DateTimeOffset.Now, new GarmentComodityId(1), null, null));

            // Act
            var command = new PlaceGarmentLoadingCommand()
            {
                LoadingNo  = "LoadingNo",
                SewingDONo = "SewingDONo",
                Price      = 1
            };
            var result = await unitUnderTest.Post(command);

            // Assert
            Assert.Equal((int)HttpStatusCode.OK, GetStatusCode(result));
        }
        public async Task Handle_StateUnderTest_ExpectedBehavior()
        {
            // Arrange
            Guid sewingDOItemGuid = Guid.NewGuid();
            Guid sewingDOGuid     = Guid.NewGuid();
            PlaceGarmentLoadingCommandHandler unitUnderTest       = CreatePlaceGarmentLoadingCommandHandler();
            CancellationToken          cancellationToken          = CancellationToken.None;
            PlaceGarmentLoadingCommand placeGarmentLoadingCommand = new PlaceGarmentLoadingCommand()
            {
                RONo        = "RONo",
                Unit        = new UnitDepartment(1, "UnitCode", "UnitName"),
                LoadingDate = DateTimeOffset.Now,
                Article     = "Article",
                SewingDOId  = sewingDOGuid,
                UnitFrom    = new UnitDepartment(1, "UnitCode", "UnitName"),
                Comodity    = new GarmentComodity(1, "ComoCode", "ComoName"),
                Items       = new List <GarmentLoadingItemValueObject>
                {
                    new GarmentLoadingItemValueObject
                    {
                        IsSave                    = true,
                        SewingDOItemId            = sewingDOItemGuid,
                        Size                      = new SizeValueObject(1, "Size"),
                        Quantity                  = 1,
                        RemainingQuantity         = 1,
                        SewingDORemainingQuantity = 2,
                        Product                   = new Product(1, "ProdCode", "ProdName"),
                        Uom = new Uom(1, "Uom"),
                    }
                },
            };

            _mockLoadingRepository
            .Setup(s => s.Query)
            .Returns(new List <GarmentLoadingReadModel>().AsQueryable());
            _mockSewingDOItemRepository
            .Setup(s => s.Query)
            .Returns(new List <GarmentSewingDOItemReadModel>
            {
                new GarmentSewingDOItemReadModel(sewingDOItemGuid)
            }.AsQueryable());

            _mockLoadingRepository
            .Setup(s => s.Update(It.IsAny <GarmentLoading>()))
            .Returns(Task.FromResult(It.IsAny <GarmentLoading>()));
            _mockLoadingItemRepository
            .Setup(s => s.Update(It.IsAny <GarmentLoadingItem>()))
            .Returns(Task.FromResult(It.IsAny <GarmentLoadingItem>()));
            _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(placeGarmentLoadingCommand, cancellationToken);

            // Assert
            result.Should().NotBeNull();
        }
Beispiel #7
0
        public void Place_NotHaveError()
        {
            // Arrange
            Guid id            = Guid.NewGuid();
            var  unitUnderTest = new PlaceGarmentLoadingCommand()
            {
                Article  = "Article",
                Comodity = new GarmentComodity()
                {
                    Id   = 1,
                    Code = "Code",
                    Name = "Name"
                },
                LoadingDate  = DateTimeOffset.Now,
                SewingDODate = DateTimeOffset.Now,
                LoadingNo    = "LoadingNo",
                Price        = 1,
                RONo         = "RONo",
                SewingDOId   = id,
                SewingDONo   = "SewingDONo",
                Unit         = new UnitDepartment()
                {
                    Id   = 1,
                    Code = "Code",
                    Name = "Name"
                },
                UnitFrom = new UnitDepartment()
                {
                    Id   = 1,
                    Code = "Code",
                    Name = "Name"
                },
                Items = new List <GarmentLoadingItemValueObject>()
                {
                    new GarmentLoadingItemValueObject()
                    {
                        BasicPrice  = 1,
                        DesignColor = "DesignColor",
                        Color       = "Color",
                        Id          = id,
                        IsSave      = true,
                        LoadingId   = id,
                        Price       = 1,
                        Product     = new Product()
                        {
                            Id   = 1,
                            Code = "Code",
                            Name = "Name"
                        },
                        Quantity                  = 1,
                        RemainingQuantity         = 1,
                        SewingDOItemId            = id,
                        SewingDORemainingQuantity = 2,
                        Size = new SizeValueObject()
                        {
                            Id   = 1,
                            Size = "Size"
                        },
                        Uom = new Uom()
                        {
                            Id   = 1,
                            Unit = "Unit"
                        }
                    }
                }
            };

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

            // Assert
            result.ShouldNotHaveError();
        }