Exemplo n.º 1
0
        public async Task <IActionResult> GetExpiredContract([FromBody]  ExpiredContracts request)
        {
            BaseResult <IEnumerable <dynamic> > expiryingContracts;

            #region Input Request Validation
            if (request == null || request.NotificationDate == DateTime.MinValue) //Need to check jakarta offset // || request.ExpiryWarningDays < 1 : Might Need old expired contract
            {
                expiryingContracts = new BaseResult <IEnumerable <dynamic> >
                {
                    IsError = true,
                    Message = Constants.BadRequestErrorMessage.InvalidRequest
                };
                return(new BadRequestObjectResult(expiryingContracts));
            }

            #endregion Input Request Validation

            expiryingContracts = await this.contracts.GetExpiredContract(request).ConfigureAwait(false);

            if (expiryingContracts.IsError && expiryingContracts.ExceptionMessage != null)
            {
                return(new StatusCodeResult(500));
            }
            else if (expiryingContracts.Result == null || !expiryingContracts.Result.Any())
            {
                return(NoContent()); //204
            }
            return(Ok(expiryingContracts));;
        }
        public async Task TestGetExpiredContract_NullRequest_BadRequestResponse()
        {
            ExpiredContracts request  = null;
            var           mockAction  = new Moq.Mock <IContract>();
            IActionResult actioResult = await contractsController.GetExpiredContract(request);

            // Assert.AreEqual(((Microsoft.AspNetCore.Mvc.ObjectResult)actioResult.Result).StatusCode, 200);
            Assert.IsTrue(actioResult is BadRequestObjectResult);
        }
        public async Task TestGetExpiredContract_InvalidDateRequest_BadRequestResponse()
        {
            ExpiredContracts request = new ExpiredContracts {
                NotificationDate = DateTime.MinValue, ExpiryWarningDays = 10
            };
            IActionResult actioResult = await contractsController.GetExpiredContract(request);

            // Assert.AreEqual(((Microsoft.AspNetCore.Mvc.ObjectResult)actioResult.Result).StatusCode, 200);
            Assert.IsTrue(actioResult is BadRequestObjectResult);
        }
Exemplo n.º 4
0
        public async Task <BaseResult <IEnumerable <dynamic> > > GetExpiredContract(ExpiredContracts request)
        {
            BaseResult <IEnumerable <dynamic> > contractList = new BaseResult <IEnumerable <dynamic> >();
            DynamicParameters paramCollection = new DynamicParameters();

            paramCollection.Add("@AdvancementDays", request.ExpiryWarningDays);
            paramCollection.Add("@NotificationDate", request.NotificationDate);
            contractList = await iContract.ExecuteStoredProcedureDynamicModel(Constants.StoredProcedure.ExpriedContracts, paramCollection);

            return(contractList);
        }
        public async Task TestGetExpiredContract_Exception_InternalServerErrorResponse()
        {
            ExpiredContracts request = new ExpiredContracts {
                NotificationDate = DateTime.Now, ExpiryWarningDays = 10
            };

            contractsRepositoryMock.Setup(a => a.GetExpiredContract(request)).Returns(Task.FromResult(new BaseResult <IEnumerable <dynamic> > {
                IsError = true, ExceptionMessage = Common.GetMockException()
            }));
            IActionResult actioResult = await contractsController.GetExpiredContract(request);

            Assert.AreEqual(((Microsoft.AspNetCore.Mvc.StatusCodeResult)actioResult).StatusCode, 500);
        }
        public async Task TestGetExpiredContract_EmptyResult_NoContentResponse()
        {
            ExpiredContracts request = new ExpiredContracts {
                NotificationDate = DateTime.Now, ExpiryWarningDays = 10
            };

            contractsRepositoryMock.Setup(a => a.GetExpiredContract(request)).Returns(Task.FromResult(new BaseResult <IEnumerable <dynamic> >
            {
                Result = new List <Country>()
            })).Verifiable();
            contractsRepositoryMock.Setup(a => a.GetExpiredContract(request)).Returns(Task.FromResult(new BaseResult <IEnumerable <dynamic> > {
                Result = null
            })).Verifiable();
            IActionResult actioResult = await contractsController.GetExpiredContract(request);

            contractsRepositoryMock.VerifyAll();
            Assert.AreEqual(((Microsoft.AspNetCore.Mvc.StatusCodeResult)actioResult).StatusCode, 204);
        }
        public async Task TestGetExpiredContract_Success_OkResponse()
        {
            ExpiredContracts request = new ExpiredContracts {
                ExpiryWarningDays = 15, NotificationDate = DateTime.Now
            };

            contractsRepositoryMock.Setup(a => a.GetExpiredContract(request)).Returns(Task.FromResult(new BaseResult <IEnumerable <dynamic> >()
            {
                Result = new[]
                {
                    new { Title = "Home" },
                    new { Title = "Categories" }
                }
            }));
            IActionResult actioResult = await contractsController.GetExpiredContract(request);

            Assert.AreEqual(((Microsoft.AspNetCore.Mvc.ObjectResult)actioResult).StatusCode, 200);
        }