Example #1
0
        public void Should_Success_GetReport()
        {
            var serviceProvider = GetServiceProvider();
            Mock <IMaterialRequestNoteService> IMaterialRequestNoteServiceMock = new Mock <IMaterialRequestNoteService>();

            IMaterialRequestNoteServiceMock.Setup(s => s.ReadByIdAsync(It.IsAny <int>())).ReturnsAsync(new MaterialsRequestNote());

            serviceProvider
            .Setup(x => x.GetService(typeof(IMaterialRequestNoteService)))
            .Returns(IMaterialRequestNoteServiceMock.Object);

            var dbContext = _dbContext(GetCurrentMethod());

            NewMaterialRequestNoteService      serviceMrn = new NewMaterialRequestNoteService(serviceProvider.Object, dbContext);
            NewMaterialDistributionNoteService service    = new NewMaterialDistributionNoteService(serviceProvider.Object, dbContext);
            var data     = _dataUtil(service, serviceMrn).GetTestData();
            var response = service.GetReport(null, null, DateTime.UtcNow, 1, 25, "{}", 7);

            Assert.NotNull(response);
        }
        public void Validate_When_MaterialsRequestNoteItem_length_isZero()
        {
            var serviceProvider = GetServiceProvider();
            NewMaterialRequestNoteService utilService = new NewMaterialRequestNoteService(serviceProvider.Object, _dbContext(GetCurrentMethod()));
            var vm = new MaterialsRequestNoteViewModel()
            {
                RequestType = "a",
                MaterialsRequestNote_Items = new List <MaterialsRequestNote_ItemViewModel>()
                {
                    new MaterialsRequestNote_ItemViewModel()
                    {
                        Length = 0,
                    }
                }
            };
            ValidationContext validationContext = new ValidationContext(vm, serviceProvider.Object, null);
            var response = vm.Validate(validationContext);

            Assert.True(response.Count() > 0);
        }
        public async Task Should_Success_Update()
        {
            NewMaterialRequestNoteService utilService = new NewMaterialRequestNoteService(GetServiceProvider().Object, _dbContext(GetCurrentMethod()));
            var data = await _dataUtil(utilService).GetTestData();

            var vm       = utilService.MapToViewModel(data);
            var testData = utilService.MapToModel(vm);

            testData.MaterialsRequestNote_Items.FirstOrDefault().ProductionOrderId = "3";
            testData.MaterialsRequestNote_Items.Add(new Lib.Models.MaterialsRequestNoteModel.MaterialsRequestNote_Item()
            {
                Grade                      = "a",
                Length                     = 1,
                OrderQuantity              = 1,
                OrderTypeCode              = "code",
                OrderTypeId                = "1",
                OrderTypeName              = "name",
                ProductCode                = "code",
                ProductionOrderNo          = "c",
                Remark                     = "a",
                ProductId                  = "1",
                ProductionOrderId          = "1",
                ProductionOrderIsCompleted = true,
                ProductName                = "name"
            });
            var response = await utilService.UpdateAsync(testData.Id, testData);

            Assert.NotEqual(0, response);

            var newData = await utilService.ReadByIdAsync(data.Id);

            var vm2       = utilService.MapToViewModel(newData);
            var testData2 = utilService.MapToModel(vm);

            testData2.MaterialsRequestNote_Items.Clear();
            var newResponse = await utilService.UpdateAsync(testData2.Id, testData2);

            Assert.NotEqual(0, newResponse);
        }
Example #4
0
        public async Task ValidateVM_ReceivedLength_lessThan_stock()
        {
            var serviceProvider = GetServiceProvider();
            NewMaterialRequestNoteService serviceMrn = new NewMaterialRequestNoteService(serviceProvider.Object, _dbContext(GetCurrentMethod()));
            InventorySummaryService       inventorySummaryService = new InventorySummaryService(serviceProvider.Object, _dbContext(GetCurrentMethod()));

            serviceProvider.Setup(s => s.GetService(typeof(IInventorySummaryService)))
            .Returns(inventorySummaryService);
            await inventorySummaryService.Create(new Lib.Models.InventoryModel.InventorySummary()
            {
                StorageName = "Gudang Greige Finishing",
                UomUnit     = "MTR",
                ProductCode = "code",
                Quantity    = 0
            });

            InventoryMovementService inventoryMovementService = new InventoryMovementService(serviceProvider.Object, _dbContext(GetCurrentMethod()));

            serviceProvider.Setup(s => s.GetService(typeof(IInventoryMovementService)))
            .Returns(inventoryMovementService);

            InventoryDocumentService inventoryDocumentFacade = new InventoryDocumentService(serviceProvider.Object, _dbContext(GetCurrentMethod()));

            serviceProvider.Setup(s => s.GetService(typeof(IInventoryDocumentService)))
            .Returns(inventoryDocumentFacade);
            serviceProvider.Setup(x => x.GetService(typeof(IMaterialRequestNoteService)))
            .Returns(serviceMrn);
            //serviceProvider.Setup(s => s.GetService(typeof(InventoryDocumentFacade)))
            //    .Returns(inventoryDocumentFacade);
            NewMaterialDistributionNoteService service = new NewMaterialDistributionNoteService(serviceProvider.Object, _dbContext(GetCurrentMethod()));
            var data = await _dataUtil(service, serviceMrn).GetTestData();

            var vm = service.MapToViewModel(data);

            ValidationContext validationContext = new ValidationContext(vm, serviceProvider.Object, null);
            var response = vm.Validate(validationContext);

            Assert.True(response.Count() > 0);
        }
        public void Should_Success_ValidateNullDetailVM()
        {
            var serviceProvider = GetServiceProvider();
            NewMaterialRequestNoteService utilService = new NewMaterialRequestNoteService(serviceProvider.Object, _dbContext(GetCurrentMethod()));
            var vm = new MaterialsRequestNoteViewModel()
            {
                RequestType = "a",
                MaterialsRequestNote_Items = new List <MaterialsRequestNote_ItemViewModel>()
                {
                    new MaterialsRequestNote_ItemViewModel()
                    {
                        ProductionOrder = new ProductionOrderViewModel()
                        {
                            OrderQuantity = 1
                        }
                    }
                }
            };
            ValidationContext validationContext = new ValidationContext(vm, serviceProvider.Object, null);
            var response = vm.Validate(validationContext);

            Assert.True(response.Count() > 0);
        }
        public void Validate_When_Duplicate_ProductionOrderId()
        {
            var serviceProvider = GetServiceProvider();
            NewMaterialRequestNoteService utilService = new NewMaterialRequestNoteService(serviceProvider.Object, _dbContext(GetCurrentMethod()));
            var vm = new MaterialsRequestNoteViewModel()
            {
                Id          = 1,
                RequestType = "a",
                MaterialsRequestNote_Items = new List <MaterialsRequestNote_ItemViewModel>()
                {
                    new MaterialsRequestNote_ItemViewModel()
                    {
                        Id              = 1,
                        Length          = 2,
                        ProductionOrder = new ProductionOrderViewModel()
                        {
                            Id            = "1",
                            OrderQuantity = 1
                        }
                    },
                    new MaterialsRequestNote_ItemViewModel()
                    {
                        Id              = 1,
                        Length          = 2,
                        ProductionOrder = new ProductionOrderViewModel()
                        {
                            Id            = "1",
                            OrderQuantity = 1
                        }
                    }
                }
            };
            ValidationContext validationContext = new ValidationContext(vm, serviceProvider.Object, null);
            var response = vm.Validate(validationContext);

            Assert.True(response.Count() > 0);
        }
Example #7
0
        public async Task Should_Success_UpdateIsApprove()
        {
            var serviceProvider          = GetServiceProvider();
            InventoryDbContext dbContext = _dbContext(GetCurrentMethod());

            NewMaterialRequestNoteService serviceMrn = new NewMaterialRequestNoteService(serviceProvider.Object, dbContext);
            InventorySummaryService       inventorySummaryService = new InventorySummaryService(serviceProvider.Object, dbContext);

            serviceProvider.Setup(s => s.GetService(typeof(IInventorySummaryService)))
            .Returns(inventorySummaryService);

            InventoryMovementService inventoryMovementService = new InventoryMovementService(serviceProvider.Object, dbContext);

            serviceProvider.Setup(s => s.GetService(typeof(IInventoryMovementService)))
            .Returns(inventoryMovementService);

            InventoryDocumentService inventoryDocumentFacade = new InventoryDocumentService(serviceProvider.Object, dbContext);

            serviceProvider.Setup(s => s.GetService(typeof(IInventoryDocumentService)))
            .Returns(inventoryDocumentFacade);
            var mrn = await _dataUtilMrn(serviceMrn).GetTestData();

            serviceProvider.Setup(x => x.GetService(typeof(IMaterialRequestNoteService)))
            .Returns(serviceMrn);
            //serviceProvider.Setup(s => s.GetService(typeof(InventoryDocumentFacade)))
            //    .Returns(inventoryDocumentFacade);
            NewMaterialDistributionNoteService service = new NewMaterialDistributionNoteService(serviceProvider.Object, _dbContext(GetCurrentMethod()));
            var data = await _dataUtil(service, serviceMrn).GetTestData();

            var response = service.UpdateIsApprove(new List <int>()
            {
                data.Id
            });

            Assert.True(response);
        }
 private MaterialRequestNoteDataUtil _dataUtilMrn(NewMaterialRequestNoteService service)
 {
     GetServiceProvider();
     return(new MaterialRequestNoteDataUtil(service));
 }
 private MaterialDistributionNoteDataUtil _dataUtil(NewMaterialDistributionNoteService service, NewMaterialRequestNoteService mrnService)
 {
     GetServiceProvider();
     return(new MaterialDistributionNoteDataUtil(service, mrnService));
 }
        public async Task Should_Success_Update()
        {
            var serviceProvider = GetServiceProvider();
            NewMaterialRequestNoteService serviceMrn = new NewMaterialRequestNoteService(serviceProvider.Object, _dbContext(GetCurrentMethod()));
            InventorySummaryService       inventorySummaryService = new InventorySummaryService(serviceProvider.Object, _dbContext(GetCurrentMethod()));

            serviceProvider.Setup(s => s.GetService(typeof(IInventorySummaryService)))
            .Returns(inventorySummaryService);

            InventoryMovementService inventoryMovementService = new InventoryMovementService(serviceProvider.Object, _dbContext(GetCurrentMethod()));

            serviceProvider.Setup(s => s.GetService(typeof(IInventoryMovementService)))
            .Returns(inventoryMovementService);

            InventoryDocumentService inventoryDocumentFacade = new InventoryDocumentService(serviceProvider.Object, _dbContext(GetCurrentMethod()));

            serviceProvider.Setup(s => s.GetService(typeof(IInventoryDocumentService)))
            .Returns(inventoryDocumentFacade);
            var mrn = await _dataUtilMrn(serviceMrn).GetTestData();

            serviceProvider.Setup(x => x.GetService(typeof(IMaterialRequestNoteService)))
            .Returns(serviceMrn);
            //serviceProvider.Setup(s => s.GetService(typeof(InventoryDocumentFacade)))
            //    .Returns(inventoryDocumentFacade);
            NewMaterialDistributionNoteService service = new NewMaterialDistributionNoteService(serviceProvider.Object, _dbContext(GetCurrentMethod()));
            var data = await _dataUtil(service, serviceMrn).GetTestData();

            var vm       = service.MapToViewModel(data);
            var testData = service.MapToModel(vm);

            testData.MaterialDistributionNoteItems.Add(new Model.MaterialDistributionNoteItem()
            {
                MaterialDistributionNoteDetails = new List <Model.MaterialDistributionNoteDetail>()
                {
                    new Model.MaterialDistributionNoteDetail()
                }
            });
            testData.UnitName = "a";

            var response = await service.UpdateAsync(testData.Id, testData);

            Assert.NotEqual(0, response);

            var newData3 = await service.ReadByIdAsync(data.Id);

            var vm3       = service.MapToViewModel(newData3);
            var testData3 = service.MapToModel(vm);
            var dItem     = testData3.MaterialDistributionNoteItems.FirstOrDefault();

            dItem.MaterialDistributionNoteDetails = new List <Model.MaterialDistributionNoteDetail>()
            {
                new Model.MaterialDistributionNoteDetail()
                {
                }
            };
            var newResponse3 = await service.UpdateAsync(testData3.Id, testData3);

            Assert.NotEqual(0, newResponse3);
            var newData = await service.ReadByIdAsync(data.Id);

            var vm2       = service.MapToViewModel(newData);
            var testData2 = service.MapToModel(vm);

            testData2.MaterialDistributionNoteItems.Clear();
            var newResponse = await service.UpdateAsync(testData2.Id, testData2);

            Assert.NotEqual(0, newResponse);
        }
 public async Task Should_Fail_CreateAsync()
 {
     NewMaterialRequestNoteService service = new NewMaterialRequestNoteService(GetFailServiceProvider().Object, _dbContext(GetCurrentMethod()));
     var data = _dataUtil(service).GetNewData();
     await Assert.ThrowsAnyAsync <Exception>(() => service.CreateAsync(data));
 }
 public MaterialRequestNoteDataUtil(NewMaterialRequestNoteService service)
 {
     Service = service;
 }
Example #13
0
 public MaterialDistributionNoteDataUtil(NewMaterialDistributionNoteService service, NewMaterialRequestNoteService newMaterialRequestNoteService)
 {
     Service    = service;
     mrnService = newMaterialRequestNoteService;
 }