public void RetrieveItem_Valid() { // Arrange var expectedId = "RETCONTROLTEST"; var expectedStatus = new StatusService(context).FindStatusByStatusId(18); retrievalRepository.Save(new Retrieval() { RetrievalId = expectedId, CreatedDateTime = DateTime.Now, Status = new StatusService(context).FindStatusByStatusId(12), Disbursements = new List <Disbursement>() { new Disbursement() { DisbursementId = expectedId, Department = new DepartmentService(context).FindDepartmentByDepartmentCode("ENGL"), CreatedDateTime = DateTime.Now, Status = new StatusService(context).FindStatusByStatusId(7), DisbursementDetails = new List <DisbursementDetail>() { new DisbursementDetail() { DisbursementId = expectedId, Item = new ItemService(context).FindItemByItemCode("E030"), Bin = "E78", PlanQuantity = 30, ActualQuantity = 30, Status = new StatusService(context).FindStatusByStatusId(17), ItemCode = "E030", } } } } }); var controller = new RetrievalAPIController() { Request = new HttpRequestMessage(), Configuration = new HttpConfiguration(), Context = context, }; // Act IHttpActionResult actionResult = controller.RetrieveItem(new ConfirmRetrievalViewModel() { RetrievalId = expectedId, Email = "*****@*****.**", ItemCode = "E030", }); var contentResult = actionResult as OkNegotiatedContentResult <MessageViewModel>; // Assert Assert.IsNotNull(contentResult); Assert.IsNotNull(contentResult.Content); Assert.AreEqual(contentResult.Content.Message, "Successfully retrieved"); var result = new DisbursementDetailRepository(context).FindById(expectedId, "E030"); Assert.AreEqual(expectedStatus.Name, result.Status.Name); }
public void GetRetrieval_ContainsResult() { // Arrange var statusService = new StatusService(context); var expectedId = "RETCONTROLTEST"; var expectedQuantity = 999999; new RetrievalRepository(context).Save(new Retrieval() { RetrievalId = expectedId, CreatedDateTime = DateTime.Now, Status = statusService.FindStatusByStatusId(12), Disbursements = new List <Disbursement>() { new Disbursement() { DisbursementId = expectedId, Department = new DepartmentService(context).FindDepartmentByDepartmentCode("ENGL"), CreatedDateTime = DateTime.Now, Status = statusService.FindStatusByStatusId(7), DisbursementDetails = new List <DisbursementDetail>() { new DisbursementDetail() { DisbursementId = expectedId, Item = new ItemService(context).FindItemByItemCode("E030"), Bin = "E78", PlanQuantity = 30, ActualQuantity = expectedQuantity, Status = statusService.FindStatusByStatusId(17), ItemCode = "E030", } } } } }); var controller = new RetrievalAPIController() { Request = new HttpRequestMessage(), Configuration = new HttpConfiguration(), Context = context, }; // Act IHttpActionResult actionResult = controller.GetRetrieval(new ConfirmRetrievalViewModel() { RetrievalId = expectedId, }); var contentResult = actionResult as OkNegotiatedContentResult <IEnumerable <RetrievalDetailByDeptViewModel> >; // Assert Assert.IsNotNull(contentResult); Assert.IsNotNull(contentResult.Content); Assert.IsTrue(contentResult.Content.Select(x => x.ActualQuantity).Contains(expectedQuantity)); }
public void RetrieveItem_AlreadyRetrieved_BadRequest() { // Arrange var expectedId = "RETCONTROLTEST"; retrievalRepository.Save(new Retrieval() { RetrievalId = expectedId, CreatedDateTime = DateTime.Now, Status = new StatusService(context).FindStatusByStatusId(12), Disbursements = new List <Disbursement>() { new Disbursement() { DisbursementId = expectedId, Department = new DepartmentService(context).FindDepartmentByDepartmentCode("ENGL"), CreatedDateTime = DateTime.Now, Status = new StatusService(context).FindStatusByStatusId(7), DisbursementDetails = new List <DisbursementDetail>() { new DisbursementDetail() { DisbursementId = expectedId, Item = new ItemService(context).FindItemByItemCode("E030"), Bin = "E78", PlanQuantity = 30, ActualQuantity = 30, Status = new StatusService(context).FindStatusByStatusId(18), ItemCode = "E030", } } } } }); var controller = new RetrievalAPIController() { Request = new HttpRequestMessage(), Configuration = new HttpConfiguration(), Context = context, }; // Act IHttpActionResult actionResult = controller.RetrieveItem(new ConfirmRetrievalViewModel() { RetrievalId = expectedId, Email = "*****@*****.**", ItemCode = "E030", }); BadRequestErrorMessageResult badRequest = actionResult as BadRequestErrorMessageResult; // Assert Assert.IsInstanceOfType(actionResult, typeof(BadRequestErrorMessageResult)); Assert.AreEqual("Item already retrieved", badRequest.Message); }
public void ConfirmRetrieval_DoesNotExist() { // Arrange var controller = new RetrievalAPIController() { Request = new HttpRequestMessage(), Configuration = new HttpConfiguration(), Context = context, }; // Act IHttpActionResult actionResult = controller.ConfirmRetrieval(new ConfirmRetrievalViewModel() { RetrievalId = "RETCONTROLTEST", Email = "*****@*****.**", }); BadRequestErrorMessageResult badRequest = actionResult as BadRequestErrorMessageResult; // Assert Assert.IsInstanceOfType(actionResult, typeof(BadRequestErrorMessageResult)); Assert.AreEqual("Retrieval does not exist", badRequest.Message); }
public void ConfirmRetrieval_AlreadyConfirmed_BadRequest() { // Arrange var requisitionRepository = new RequisitionRepository(context); var departmentRepository = new DepartmentRepository(context); var requisition = requisitionRepository.Save(new Requisition() { RequisitionId = "RETCONTROLTEST", CollectionPoint = departmentRepository.FindById("ENGL").CollectionPoint, Department = departmentRepository.FindById("ENGL"), CreatedDateTime = DateTime.Now, RequisitionDetails = new List <RequisitionDetail>() { new RequisitionDetail() { RequisitionId = "RETCONTROLTEST", ItemCode = "E030", Item = new ItemService(context).FindItemByItemCode("E030"), Quantity = 30, } } }); var retrieval = retrievalRepository.Save(new Retrieval() { RetrievalId = "RETCONTROLTEST", Requisitions = new List <Requisition>() { requisition }, CreatedDateTime = DateTime.Now, Status = new StatusService(context).FindStatusByStatusId(20), }); var disbursement = disbursementRepository.Save(new Disbursement() { DisbursementId = "RETCONTROLTEST", Department = departmentRepository.FindById("ENGL"), DisbursementDetails = new List <DisbursementDetail>() { new DisbursementDetail() { DisbursementId = "RETCONTROLTEST", ItemCode = "E030", Item = new ItemService(context).FindItemByItemCode("E030"), PlanQuantity = 30, ActualQuantity = 30, Status = new StatusService(context).FindStatusByStatusId(18), } }, Retrieval = retrieval, Status = new StatusService(context).FindStatusByStatusId(7), CreatedDateTime = DateTime.Now, }); var expectedStatus = new StatusService(context).FindStatusByStatusId(20); var controller = new RetrievalAPIController() { Request = new HttpRequestMessage(), Configuration = new HttpConfiguration(), Context = context, }; // Act IHttpActionResult actionResult = controller.ConfirmRetrieval(new ConfirmRetrievalViewModel() { RetrievalId = "RETCONTROLTEST", Email = "*****@*****.**", }); BadRequestErrorMessageResult badRequest = actionResult as BadRequestErrorMessageResult; // Assert Assert.IsInstanceOfType(actionResult, typeof(BadRequestErrorMessageResult)); Assert.AreEqual("Retrieval already confirmed", badRequest.Message); }
public void ConfirmRetrieval_Valid() { // Arrange var requisitionRepository = new RequisitionRepository(context); var departmentRepository = new DepartmentRepository(context); var requisition = requisitionRepository.Save(new Requisition() { RequisitionId = "RETCONTROLTEST", CollectionPoint = departmentRepository.FindById("ENGL").CollectionPoint, Department = departmentRepository.FindById("ENGL"), CreatedDateTime = DateTime.Now, Status = new StatusRepository(context).FindById(7), RequisitionDetails = new List <RequisitionDetail>() { new RequisitionDetail() { RequisitionId = "RETCONTROLTEST", ItemCode = "E030", Item = new ItemService(context).FindItemByItemCode("E030"), Quantity = 30, Status = new StatusRepository(context).FindById(7), } } }); var retrieval = retrievalRepository.Save(new Retrieval() { RetrievalId = "RETCONTROLTEST", Requisitions = new List <Requisition>() { requisition }, CreatedDateTime = DateTime.Now, Status = new StatusService(context).FindStatusByStatusId(19), }); var disbursement = disbursementRepository.Save(new Disbursement() { DisbursementId = "RETCONTROLTEST", Department = departmentRepository.FindById("ENGL"), DisbursementDetails = new List <DisbursementDetail>() { new DisbursementDetail() { DisbursementId = "RETCONTROLTEST", ItemCode = "E030", Item = new ItemService(context).FindItemByItemCode("E030"), PlanQuantity = 30, ActualQuantity = 30, Status = new StatusService(context).FindStatusByStatusId(18), } }, Retrieval = retrieval, Status = new StatusService(context).FindStatusByStatusId(7), CreatedDateTime = DateTime.Now, }); var expectedStatus = new StatusService(context).FindStatusByStatusId(20); var controller = new RetrievalAPIController() { Request = new HttpRequestMessage(), Configuration = new HttpConfiguration(), Context = context, }; // Act IHttpActionResult actionResult = controller.ConfirmRetrieval(new ConfirmRetrievalViewModel() { RetrievalId = "RETCONTROLTEST", Email = "*****@*****.**", }); var contentResult = actionResult as OkNegotiatedContentResult <MessageViewModel>; // Assert Assert.IsNotNull(contentResult); Assert.IsNotNull(contentResult.Content); Assert.AreEqual(contentResult.Content.Message, "Successfully confirmed"); var result = new RetrievalRepository(context).FindById("RETCONTROLTEST"); Assert.AreEqual(expectedStatus.Name, result.Status.Name); }
public void UpdateRetrievalFormTest() { // ARRANGE RetrievalAPIController retrievalAPIController = new RetrievalAPIController() { Request = new HttpRequestMessage(), Configuration = new HttpConfiguration(), Context = context, }; string retId = "RETRIEVAL"; string deptId = "COMM"; string itemCode = "C001"; string disbId = "DISBURSEMENT"; int actual = 99; Retrieval r = new Retrieval { RetrievalId = retId, CreatedDateTime = DateTime.Now }; Disbursement d = new Disbursement { DisbursementId = disbId, Department = departmentService.FindDepartmentByDepartmentCode(deptId), Retrieval = r, CreatedDateTime = DateTime.Now, DisbursementDetails = new List <DisbursementDetail> { new DisbursementDetail { Item = ItemRepository.FindById(itemCode), PlanQuantity = 99, ActualQuantity = 0 } } }; retrievalRepository.Save(r); disbursementRepository.Save(d); try { SaveJson json = new SaveJson { ItemCode = itemCode, RetId = retId, List = new List <BreakdownByDepartment> { new BreakdownByDepartment { DeptId = deptId, Actual = actual } } }; // ACT retrievalAPIController.UpdateRetrievalForm(json); // ASSERT int expected = 99; DisbursementDetail dd; //using (context = new ApplicationDbContext()) //{ disbursementRepository = new DisbursementRepository(context); dd = disbursementRepository .FindById(disbId) .DisbursementDetails .Where(x => x.ItemCode == itemCode).First(); //} Assert.AreEqual(expected, dd.ActualQuantity); } finally { //using (context = new ApplicationDbContext()) //{ Disbursement deleteD = context.Disbursement.Where(x => x.DisbursementId == disbId).First(); context.Disbursement.Remove(deleteD); Retrieval deleteR = context.Retrieval.Where(x => x.RetrievalId == retId).First(); context.Retrieval.Remove(deleteR); context.SaveChanges(); //} } }