public void GetStockAdjustmentDetail_Test() { StockAdjustment sa = new StockAdjustment(); sa.StockAdjustmentId = "test1"; sa.CreatedBy = new UserService(context).FindUserByEmail("*****@*****.**"); sa.CreatedDateTime = DateTime.Now; sa.Remarks = "THIS IS A TEST"; sa.Status = statusRepository.FindById(4); StockAdjustmentDetail sad = new StockAdjustmentDetail(); sad.StockAdjustmentId = "test1"; sad.Reason = "test1"; sad.ItemCode = "C001"; List <StockAdjustmentDetail> detaillist = new List <StockAdjustmentDetail>(); detaillist.Add(sad); sa.StockAdjustmentDetails = detaillist; saRepository.Save(sa); StockAdjustmentAPIController controller = new StockAdjustmentAPIController() { CurrentUserName = "******", Context = this.context }; StockAdjustmentDetailViewModel result = controller.GetStockAdjustmentDetail("test1").First(); Assert.AreEqual(result.Reason, "test1"); saRepository.Delete(saRepository.FindById("test1")); }
public void CreatePendingStockAdjustmentAsDraft_Test() { StockAdjustmentAPIController controller = new StockAdjustmentAPIController() { CurrentUserName = "******", Context = this.context }; //Arrange List <ViewModelFromNew> list = new List <ViewModelFromNew>(); ViewModelFromNew v1 = new ViewModelFromNew(); v1.Adjustment = 1; v1.Itemcode = "C001"; v1.Reason = "Test1"; v1.Unitprice = "1.0"; list.Add(v1); //Act controller.CreatePendingStockAdjustment(list); StockAdjustment sa = context.StockAdjustment.OrderByDescending(x => x.StockAdjustmentId).First(); sa.Remarks = "THIS IS A TEST"; saService.updateStockAdjustment(sa); StockAdjustmentDetail sad = context.StockAdjustmentDetail.OrderByDescending(x => x.StockAdjustmentId).First(); //Assert Assert.IsTrue(sad.ItemCode == "C001"); Assert.IsTrue(sa.Status.StatusId == 4); saRepository.Delete(sa); }
public void SaveStockAdjustmentAsDraft_Test() { //Arrange List <ViewModelFromNew> list = new List <ViewModelFromNew>(); ViewModelFromNew v1 = new ViewModelFromNew(); v1.Adjustment = 1; v1.Itemcode = "C001"; v1.Reason = "Test1"; list.Add(v1); var controller = new StockAdjustmentAPIController(); //Act controller.SaveStockAdjustmentAsDraft(list); StockAdjustment sa = context.StockAdjustment.OrderByDescending(x => x.StockAdjustmentId).First(); sa.Remarks = "THIS IS A TEST"; saService.updateStockAdjustment(sa); StockAdjustmentDetail sad = context.StockAdjustmentDetail.OrderByDescending(x => x.StockAdjustmentId).First(); //Assert Assert.IsTrue(sad.ItemCode == "C001"); Assert.IsTrue(sa.Status.StatusId == 3); saRepository.Delete(sa); }
public void ApproveStockAdjustment_Test() { StockAdjustment sa = new StockAdjustment(); sa.StockAdjustmentId = "test1"; sa.Remarks = "THIS IS A TEST"; sa.CreatedBy = new UserService(context).FindUserByEmail("*****@*****.**"); sa.CreatedDateTime = DateTime.Now; sa.Status = statusRepository.FindById(4); StockAdjustmentDetail sad = new StockAdjustmentDetail(); sad.StockAdjustmentId = "test1"; sad.Reason = "test1"; sad.ItemCode = "C001"; sad.Item = itemRepository.FindById("C001"); sad.OriginalQuantity = 0; sad.AfterQuantity = 10; List <StockAdjustmentDetail> detaillist = new List <StockAdjustmentDetail>(); detaillist.Add(sad); sa.StockAdjustmentDetails = detaillist; saRepository.Save(sa); //sadRepository.Save(sad); List <ViewModelFromEditDetail> list = new List <ViewModelFromEditDetail>(); ViewModelFromEditDetail v1 = new ViewModelFromEditDetail(); v1.StockAdjustmentID = "test1"; v1.Reason = "test1"; v1.Itemcode = "C001"; list.Add(v1); StockAdjustmentAPIController controller = new StockAdjustmentAPIController() { CurrentUserName = "******", Context = this.context }; controller.ApproveStockAdjustment(list); Assert.AreEqual(saRepository.FindById("test1").Status.StatusId, 6); saRepository.Delete(saRepository.FindById("test1")); StockMovement sv = context.StockMovement.OrderByDescending(x => x.StockMovementId).First(); smRepository.Delete(sv); }
public void GetStockAdjustmentsForSupervisor_ContainsResult() { // Arrange var expectedId = IdService.GetNewStockAdjustmentId(context); saRepository.Save(new StockAdjustment() { StockAdjustmentId = expectedId, CreatedBy = new UserService(context).FindUserByEmail("*****@*****.**"), CreatedDateTime = DateTime.Now, Remarks = "THIS IS A TEST", Status = new StatusService(context).FindStatusByStatusId(4), StockAdjustmentDetails = new List <StockAdjustmentDetail>() { new StockAdjustmentDetail() { StockAdjustmentId = expectedId, Item = new ItemService(context).FindItemByItemCode("E030"), OriginalQuantity = 20, AfterQuantity = 30, } } }); var controller = new StockAdjustmentAPIController() { Request = new HttpRequestMessage(), Configuration = new HttpConfiguration(), Context = context, }; // Act IHttpActionResult actionResult = controller.GetStockAdjustmentsForSupervisor(new EmailViewModel() { Email = "*****@*****.**", }); var contentResult = actionResult as OkNegotiatedContentResult <IEnumerable <StockAdjustmentRequestViewModel> >; // Assert Assert.IsNotNull(contentResult); Assert.IsNotNull(contentResult.Content); Assert.IsTrue(contentResult.Content.Select(s => s.StockAdjustmentId).Contains(expectedId)); Assert.IsTrue(contentResult.Content .SelectMany(s => s.StockAdjustmentRequestDetails.Where(x => x.ItemCode == "E030").Select(sd => sd.OriginalQuantity)) .FirstOrDefault().Contains(20.ToString())); }
public void UpdateStockAdjustmentAsPending_Test() { StockAdjustment sa = new StockAdjustment(); sa.StockAdjustmentId = "test1"; sa.Remarks = "THIS IS A TEST"; sa.CreatedBy = new UserService(context).FindUserByEmail("*****@*****.**"); sa.CreatedDateTime = DateTime.Now; sa.Status = statusRepository.FindById(4); StockAdjustmentDetail sad = new StockAdjustmentDetail(); sad.StockAdjustmentId = "test1"; sad.Reason = "test1"; sad.ItemCode = "C001"; List <StockAdjustmentDetail> detaillist = new List <StockAdjustmentDetail>(); detaillist.Add(sad); sa.StockAdjustmentDetails = detaillist; saRepository.Save(sa); List <ViewModelFromEditDetail> list = new List <ViewModelFromEditDetail>(); ViewModelFromEditDetail v1 = new ViewModelFromEditDetail(); v1.StockAdjustmentID = "test1"; v1.Reason = "test2"; v1.Itemcode = "C001"; v1.Adjustment = 10; v1.Unitprice = "1.0"; list.Add(v1); StockAdjustmentAPIController controller = new StockAdjustmentAPIController() { CurrentUserName = "******", Context = this.context }; controller.UpdateStockAdjustmentAsDraft(list); Assert.AreEqual(sadRepository.FindById("test1", "C001").Reason, "test2"); saRepository.Delete(saRepository.FindById("test1")); }
public void RejectStockAdjustment_Valid() { // Arrange var expected = new StatusService(context).FindStatusByStatusId(5); var controller = new StockAdjustmentAPIController() { Request = new HttpRequestMessage(), Configuration = new HttpConfiguration(), Context = context, }; var stockAdjustment = new StockAdjustmentRepository(context).Save(new StockAdjustment() { StockAdjustmentId = "ADJCONTROLTEST", CreatedBy = new UserService(context).FindUserByEmail("*****@*****.**"), CreatedDateTime = DateTime.Now, Status = new StatusService(context).FindStatusByStatusId(4), StockAdjustmentDetails = new List <StockAdjustmentDetail>() { new StockAdjustmentDetail() { StockAdjustmentId = "ADJCONTROLTEST", ItemCode = "E030", Item = new ItemService(context).FindItemByItemCode("E030"), OriginalQuantity = 10, AfterQuantity = 10, } } }); // Act IHttpActionResult actionResult = controller.RejectStockAdjustment(new StockAdjustmentIdViewModel() { StockAdjustmentId = "ADJCONTROLTEST", Email = "*****@*****.**", }); var contentResult = actionResult as OkNegotiatedContentResult <MessageViewModel>; // Assert Assert.IsNotNull(contentResult); Assert.IsNotNull(contentResult.Content); Assert.AreEqual(contentResult.Content.Message, "Successfully rejected"); var result = new StockAdjustmentRepository(context).FindById("ADJCONTROLTEST"); Assert.AreEqual(expected.Name, result.Status.Name); }
public void GetAllStockadjustment_ContainResult() { //Arrange //Instantiate controller var controller = new StockAdjustmentAPIController(); StockAdjustment sa1 = new StockAdjustment(); sa1.StockAdjustmentId = "he01"; sa1.Remarks = "THIS IS A TEST"; sa1.CreatedDateTime = DateTime.Now; sa1.Status = statusRepository.FindById(3); StockAdjustmentDetail s1 = new StockAdjustmentDetail(); s1.StockAdjustmentId = "he01"; s1.ItemCode = "C001"; s1.OriginalQuantity = 10; s1.AfterQuantity = 20; StockAdjustmentDetail s2 = new StockAdjustmentDetail(); s2.StockAdjustmentId = "he01"; s2.ItemCode = "C002"; s2.OriginalQuantity = 20; s2.AfterQuantity = 30; List <StockAdjustmentDetail> list = new List <StockAdjustmentDetail>(); list.Add(s1); list.Add(s2); sa1.StockAdjustmentDetails = list; saRepository.Save(sa1); //Act StockAdjustmentViewModel result = controller.GetAllStockAdjustments().OrderByDescending (x => x.CreatedDateTime).First(); //Assert Assert.AreEqual(sa1.StockAdjustmentId, result.StockAdjustmentId); saRepository.Delete(saRepository.FindById("he01")); }
public void RejectStockAdjustment_AlreadyApproved_BadRequest() { // Arrange var controller = new StockAdjustmentAPIController() { Request = new HttpRequestMessage(), Configuration = new HttpConfiguration(), Context = context, }; var stockAdjustment = new StockAdjustmentRepository(context).Save(new StockAdjustment() { StockAdjustmentId = "ADJCONTROLTEST", CreatedBy = new UserService(context).FindUserByEmail("*****@*****.**"), CreatedDateTime = DateTime.Now, Status = new StatusService(context).FindStatusByStatusId(6), StockAdjustmentDetails = new List <StockAdjustmentDetail>() { new StockAdjustmentDetail() { StockAdjustmentId = "ADJCONTROLTEST", ItemCode = "E030", Item = new ItemService(context).FindItemByItemCode("E030"), OriginalQuantity = 10, AfterQuantity = 10, } } }); // Act IHttpActionResult actionResult = controller.RejectStockAdjustment(new StockAdjustmentIdViewModel() { StockAdjustmentId = "ADJCONTROLTEST", Email = "*****@*****.**", }); var badRequestResult = actionResult as BadRequestErrorMessageResult; // Assert Assert.IsInstanceOfType(actionResult, typeof(BadRequestErrorMessageResult)); Assert.AreEqual("Stock Adjustment already approved/rejected", badRequestResult.Message); }
public void RejectStockAdjustment_DoesNotExist_BadRequest() { // Arrange var controller = new StockAdjustmentAPIController() { Request = new HttpRequestMessage(), Configuration = new HttpConfiguration(), Context = context, }; // Act IHttpActionResult actionResult = controller.RejectStockAdjustment(new StockAdjustmentIdViewModel() { StockAdjustmentId = "ADJCONTROLTEST", Email = "*****@*****.**", }); var badRequestResult = actionResult as BadRequestErrorMessageResult; // Assert Assert.IsInstanceOfType(actionResult, typeof(BadRequestErrorMessageResult)); Assert.AreEqual("Stock Adjustment does not exist", badRequestResult.Message); }
public void SaveFromMobileTest() { //Arrange //Instantiate controller StockAdjustmentAPIController controller = new StockAdjustmentAPIController() { CurrentUserName = "******", Context = this.context }; controller.ModelState.Clear(); Item item = context.Item.First(); List <MobileSADViewModel> list = new List <MobileSADViewModel>(); MobileSADViewModel VM = new MobileSADViewModel() { ItemCode = item.ItemCode, UserName = "******", OriginalQuantity = "5", AfterQuantity = "6", Reason = "API Controller TEST" }; list.Add(VM); //Act IHttpActionResult actionResult = controller.Save(list); var contentResult = actionResult as OkNegotiatedContentResult <String>; //Assert Assert.IsNotNull(actionResult); Assert.IsNotNull(contentResult.Content); //Delete saRepository.Delete(saRepository.FindById(contentResult.Content)); }