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)); }
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); }
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); }
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()); } }
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); }