public void AddMovement_with_existing_data_and_with_type_Invalid_return_success()
        {
            //Arrange
            var dbContext           = new PackingInventoryDbContext(CreateNewContextOptions(MethodBase.GetCurrentMethod().ReflectedType.FullName + MethodBase.GetCurrentMethod().Name));
            var serviceProviderMock = new Mock <IServiceProvider>();

            serviceProviderMock
            .Setup(serviceProvider => serviceProvider
                   .GetService(typeof(IIdentityProvider)))
            .Returns(new IdentityProvider()
            {
                TimezoneOffset = 1, Token = "token", Username = "******"
            });

            var inventoryMovement = new ProductSKUInventoryMovementModel(1, 1, 1, 1, "storageCode", "storageName", 1, "INVALID_TYPE", "Remark");

            var unitOfWork = new UnitOfWork(dbContext, serviceProviderMock.Object);

            dbContext
            .ProductSKUInventorySummaries
            .Add(new ProductSKUInventorySummaryModel(1, 1, "storageCode", "storageName", 1));

            dbContext.SaveChanges();
            var azureServiceBusSenderMock = new Mock <IAzureServiceBusSender <ProductSKUInventoryMovementModel> >();
            var service = GetService(GetServiceProvider(unitOfWork, azureServiceBusSenderMock.Object).Object);

            //Act
            Assert.Throws <Exception>(() => service.AddMovement(inventoryMovement));
        }
Esempio n. 2
0
        public async Task GetIndex_Return_Success()
        {
            //Setup
            PackingInventoryDbContext dbContext = GetDbContext(Entity);
            var fabricProductSKU = fabricProductSKUModel;

            dbContext.FabricProductSKUs.Add(fabricProductSKU);

            dbContext.IPWovenType.Add(iPWovenTypeModel);
            dbContext.IPMaterialConstructions.Add(materialConstructionModel);
            dbContext.IPWidthType.Add(iPWidthTypeModel);
            dbContext.IPWarpTypes.Add(warpTypeModel);
            dbContext.IPWeftTypes.Add(weftTypeModel);
            dbContext.IPProcessType.Add(iPProcessTypeModel);
            dbContext.IPYarnType.Add(iPYarnTypeModel);
            dbContext.IPGrades.Add(gradeModel);
            dbContext.IPUnitOfMeasurements.Add(unitOfMeasurementModel);
            dbContext.SaveChanges();

            //act
            FabricPackingSKUService service    = GetService(GetServiceProvider(dbContext).Object, dbContext);
            IndexQueryParam         queryParam = new IndexQueryParam()
            {
                keyword = "",
                order   = "",
                page    = 0,
                size    = 1
            };
            FabricSKUIndex result = await service.GetIndex(queryParam);

            //assert
            Assert.NotNull(result);
            Assert.NotEmpty(result.data);
        }
Esempio n. 3
0
        public void  GetById_Return_Success()
        {
            //Setup
            PackingInventoryDbContext dbContext = GetDbContext(Entity);
            var fabricProductSKU = fabricProductSKUModel;

            dbContext.FabricProductSKUs.Add(fabricProductSKU);

            dbContext.IPWovenType.Add(iPWovenTypeModel);
            dbContext.IPMaterialConstructions.Add(materialConstructionModel);
            dbContext.IPWidthType.Add(iPWidthTypeModel);
            dbContext.IPWarpTypes.Add(warpTypeModel);
            dbContext.IPWeftTypes.Add(weftTypeModel);
            dbContext.IPProcessType.Add(iPProcessTypeModel);
            dbContext.IPYarnType.Add(iPYarnTypeModel);
            dbContext.IPGrades.Add(gradeModel);
            dbContext.IPUnitOfMeasurements.Add(unitOfMeasurementModel);
            dbContext.SaveChanges();

            //act
            FabricPackingSKUService service = GetService(GetServiceProvider(dbContext).Object, dbContext);
            FabricSKUDto            result  = service.GetById(fabricProductSKU.Id);

            //assert
            Assert.NotNull(result);
            Assert.NotEqual(0, result.Id);
            Assert.True(0 < result.Id);
        }
Esempio n. 4
0
        public void CreateSKU_When_Unit_YARD_Return_Succes()
        {
            //Setup
            PackingInventoryDbContext dbContext = GetDbContext(Entity);

            dbContext.ProductSKUs.Add(productSKUModel);
            dbContext.IPCategories.Add(categoryModel);
            dbContext.IPWovenType.Add(iPWovenTypeModel);
            dbContext.IPMaterialConstructions.Add(materialConstructionModel);
            dbContext.IPWidthType.Add(iPWidthTypeModel);
            dbContext.IPWarpTypes.Add(warpTypeModel);
            dbContext.IPWeftTypes.Add(weftTypeModel);
            dbContext.IPProcessType.Add(iPProcessTypeModel);
            dbContext.IPYarnType.Add(iPYarnTypeModel);
            dbContext.IPGrades.Add(gradeModel);
            dbContext.IPUnitOfMeasurements.Add(new UnitOfMeasurementModel("YARD"));
            dbContext.SaveChanges();

            //act
            FabricPackingSKUService service = GetService(GetServiceProvider(dbContext).Object, dbContext);
            var dataUtil = fabricSKUFormDto;
            int result   = service.CreateSKU(dataUtil);

            //assert
            Assert.NotEqual(0, result);
            Assert.True(0 < result);
        }
        public void Should_Success_AddDocument()
        {
            //Arrange
            var dbContext           = new PackingInventoryDbContext(CreateNewContextOptions(MethodBase.GetCurrentMethod().ReflectedType.FullName + MethodBase.GetCurrentMethod().Name));
            var serviceProviderMock = new Mock <IServiceProvider>();

            serviceProviderMock
            .Setup(serviceProvider => serviceProvider
                   .GetService(typeof(IIdentityProvider)))
            .Returns(new IdentityProvider()
            {
                TimezoneOffset = 1, Token = "token", Username = "******"
            });


            var productSKUInventoryDocument = new ProductSKUInventoryDocumentModel("documentNo", DateTimeOffset.Now, "ReferenceNo", "ReferenceType", 1, "storagename", "storagecode", "type", "remark");

            dbContext.ProductSKUInventoryDocuments.Add(productSKUInventoryDocument);

            dbContext.SaveChanges();

            var unitOfWork = new UnitOfWork(dbContext, serviceProviderMock.Object);


            var azureServiceBusSenderMock = new Mock <IAzureServiceBusSender <ProductSKUInventoryMovementModel> >();
            var service = GetService(GetServiceProvider(unitOfWork, azureServiceBusSenderMock.Object).Object);

            var data = new FormDto()
            {
                Date          = DateTimeOffset.Now,
                ReferenceNo   = "ReferenceNo",
                ReferenceType = "ReferenceType",
                Remark        = "Remark",
                Storage       = new Application.DTOs.StorageDto()
                {
                    _id  = 1,
                    code = "storagecode",
                    name = "storagename",
                },
                Items = new List <FormItemDto>()
                {
                    new FormItemDto()
                    {
                        ProductSKUId = 1,
                        Quantity     = 1,
                        Remark       = "Remark",
                        UOMId        = 1
                    }
                },
                Type = "IN",
            };


            //Act
            var result = service.AddDocument(data);

            //Assertion
            Assert.True(-1 < result);
        }
        public FabricPackingIdCodeDto AutoCreatePacking(FabricPackingAutoCreateFormDto form)
        {
            var fabric = _dbContext.FabricProductSKUs.FirstOrDefault(entity => entity.Id == form.FabricSKUId);

            if (fabric != null)
            {
                var productSKU           = _dbContext.ProductSKUs.FirstOrDefault(entity => entity.Id == fabric.ProductSKUId);
                var latestProductPacking = _dbContext.ProductPackings.Where(entity => entity.Code.Contains(productSKU.Code)).OrderByDescending(entity => entity.Code).FirstOrDefault();

                var i = 1;
                if (latestProductPacking != null)
                {
                    var rollNumber = latestProductPacking.Code.Substring(latestProductPacking.Code.Count() - 4);
                    i = int.Parse(rollNumber) + 1;
                }

                var packingModel         = new ProductPackingModel();
                var fabricPackingProduct = new FabricProductPackingModel();
                var packingCodes         = new List <string>();
                var limit = (i - 1) + form.Quantity;
                for (; i <= limit; i++)
                {
                    var code = productSKU.Code + i.ToString().PadLeft(4, '0');
                    var uom  = _dbContext.IPUnitOfMeasurements.FirstOrDefault(entity => entity.Unit == form.PackingType);
                    packingModel = new ProductPackingModel(productSKU.Id, uom.Id, form.Length, code, code, "");
                    _unitOfWork.ProductPackings.Insert(packingModel);
                    _unitOfWork.Commit();
                    packingCodes.Add(code);

                    fabricPackingProduct = new FabricProductPackingModel(code, fabric.Id, productSKU.Id, packingModel.Id, uom.Id, form.Length, form.PackingType);
                    _dbContext.FabricProductPackings.Add(fabricPackingProduct);
                }

                _dbContext.SaveChanges();

                if (packingCodes.Count < 1)
                {
                    var errorResult = new List <ValidationResult>()
                    {
                        new ValidationResult("SKU belum ada", new List <string> {
                            "ProductSKU"
                        })
                    };
                    var validationContext = new ValidationContext(packingModel, _serviceProvider, null);
                    throw new ServiceValidationException(validationContext, errorResult);
                }

                return(new FabricPackingIdCodeDto()
                {
                    FabricPackingId = fabricPackingProduct.Id, ProductPackingCode = packingModel.Code, ProductPackingId = packingModel.Id, FabricSKUId = fabric.Id, ProductSKUCode = productSKU.Code, ProductSKUId = productSKU.Id, ProductPackingCodes = packingCodes
                });
            }
            else
            {
                return(new FabricPackingIdCodeDto());
            }
        }
Esempio n. 7
0
        public void DeleteSKU_Return_Succes()
        {
            //Setup
            PackingInventoryDbContext dbContext = GetDbContext(Entity);
            var dataUtil = fabricProductSKUModel;

            dbContext.FabricProductSKUs.Add(dataUtil);
            dbContext.SaveChanges();

            //act
            FabricPackingSKUService service = GetService(GetServiceProvider(dbContext).Object, dbContext);
            int result = service.DeleteSKU(dataUtil.Id);

            //assert
            Assert.NotEqual(0, result);
            Assert.True(0 < result);
        }