예제 #1
0
        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);
        }
예제 #2
0
        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);
        }
예제 #3
0
        public void UpdateActualQuantity_DoesNotExist_BadRequest()
        {
            // Arrange
            var controller = new RetrievalAPIController()
            {
                Request       = new HttpRequestMessage(),
                Configuration = new HttpConfiguration(),
                Context       = context,
            };

            // Act
            IHttpActionResult actionResult = controller.RetrieveItem(new ConfirmRetrievalViewModel()
            {
                RetrievalId = "RETCONTROLTEST",
                Email       = "*****@*****.**",
                ItemCode    = "E030",
            });
            BadRequestErrorMessageResult badRequest = actionResult as BadRequestErrorMessageResult;

            // Assert
            Assert.IsInstanceOfType(actionResult, typeof(BadRequestErrorMessageResult));
            Assert.AreEqual("Retrieval does not exist", badRequest.Message);
        }