public async Task <IActionResult> UpdateAllocationRates([FromBody] UpdateAllocationRatesBaseRequest request)
        {
            BaseResult <bool> requestValidationResponse = new BaseResult <bool>();

            if (request == null)
            {
                requestValidationResponse.IsError   = true;
                requestValidationResponse.Message   = string.Format(Constants.ErrorMessage.RequiredFieldMissing, "Hotel Code, Channe manger Id, Room Types and Rate Plans ");
                requestValidationResponse.ErrorCode = (int)Constants.ErrorCodes.RequiredFieldMissing;
                return(new BadRequestObjectResult(requestValidationResponse));
            }

            requestValidationResponse = await ValidateUpdateAllocationRequest(request.UpdateAllocationsValidationRequest);

            if (!requestValidationResponse.Result && requestValidationResponse.IsError && requestValidationResponse.ExceptionMessage != null)
            {
                return(new StatusCodeResult(500));
            }

            if (!requestValidationResponse.Result)
            {
                return(new BadRequestObjectResult(requestValidationResponse));
            }

            //
            return(Ok(requestValidationResponse));
        }
Ejemplo n.º 2
0
        public async Task TestUpdateAllocationRatesRates_NullRequest_RequiredFieldMissingResponse()
        {
            UpdateAllocationRatesBaseRequest baseRequest = null;
            UpdateAllocationRatesRequest     request     = null;

            mockChannelManagerRepository.Setup(c => c.UpdateAllocationRates(request)).Returns(Task.FromResult(new BaseResult <bool>()));
            IActionResult actioResult = await mockChannelManagerController.UpdateAllocationRates(baseRequest);

            Assert.IsTrue(actioResult is BadRequestObjectResult);
            var result = actioResult as BadRequestObjectResult;
            BaseResult <bool> response = result.Value as BaseResult <bool>;

            Assert.AreEqual(response.ErrorCode, (int)Constants.ErrorCodes.RequiredFieldMissing);
            Assert.AreEqual(response.Message, string.Format(Constants.ErrorMessage.RequiredFieldMissing, "Hotel Code, Channe manger Id, Room Types and Rate Plans "));
        }
Ejemplo n.º 3
0
        public async Task TestUpdateAllocationRatesRates_HotelCodeNull_RequiredFieldMissingResponse()
        {
            UpdateAllocationRatesBaseRequest baseRequest = new UpdateAllocationRatesBaseRequest
            {
                UpdateAllocationsValidationRequest = new UpdateAllocationsValidationRequest()
            };

            baseRequest.UpdateAllocationsValidationRequest.HotelCode = String.Empty;
            IActionResult actioResult = await mockChannelManagerController.UpdateAllocationRates(baseRequest);

            Assert.IsTrue(actioResult is BadRequestObjectResult);
            var result = actioResult as BadRequestObjectResult;
            BaseResult <bool> response = result.Value as BaseResult <bool>;

            Assert.AreEqual(response.ErrorCode, (int)Constants.ErrorCodes.RequiredFieldMissing);
            Assert.AreEqual(response.Message, string.Format(Constants.ErrorMessage.RequiredFieldMissing, "Hotel Code, Channe manger Id, Room Types and Rate Plans "));
        }
Ejemplo n.º 4
0
        public async Task Test_UpdateAllocationRateRequest_Success_OkResponse()
        {
            UpdateAllocationRatesBaseRequest baseRequest = new UpdateAllocationRatesBaseRequest
            {
                UpdateAllocationsValidationRequest = new UpdateAllocationsValidationRequest()
            };

            baseRequest.UpdateAllocationsValidationRequest.HotelCode        = "TestCaseForOkResponse";
            baseRequest.UpdateAllocationsValidationRequest.ChannelManagerId = 1;
            baseRequest.UpdateAllocationsValidationRequest.RoomTypeRatePlanList.Add(new RoomTypeRatePlan {
                RatePlanCode = "Test Rate Plan Code", RoomTypeCode = "Test Room Type Code"
            });
            //mockChannelManagerRepository.Setup(m => m.ValidateUpdateAllocationRequest(baseRequest.UpdateAllocationsValidationRequest)).Returns(Task.FromResult(new BaseResult<bool> { Result = true }));
            //mockChannelManagerRepository.Setup(c => c.UpdateAllocationRates(baseRequest.UpdateAllocationRatesRequest)).Returns(Task.FromResult(new BaseResult<bool>()));
            //  IActionResult actioResult = await mockChannelManagerController.UpdateAllocationRates(baseRequest);
            IActionResult actioResult = await fakeChannelManagerController.UpdateAllocationRates(baseRequest);

            Assert.IsTrue(actioResult != null);
            Assert.IsTrue(actioResult is Microsoft.AspNetCore.Mvc.ObjectResult);
        }
Ejemplo n.º 5
0
        public async Task TestUpdateAllocationRatesRatesRequestValidationResponse_Exception_InternalServerError()
        {
            UpdateAllocationRatesBaseRequest baseRequest = new UpdateAllocationRatesBaseRequest
            {
                UpdateAllocationsValidationRequest = new UpdateAllocationsValidationRequest(),
            };

            baseRequest.UpdateAllocationsRateRequest.Add(new UpdateAllocationRatesRequest());
            baseRequest.UpdateAllocationsValidationRequest.HotelCode        = "TestCaseForException";
            baseRequest.UpdateAllocationsValidationRequest.ChannelManagerId = 1;

            baseRequest.UpdateAllocationsValidationRequest.RoomTypeRatePlanList.Add(new RoomTypeRatePlan {
                RatePlanCode = "Test Rate Plan Code", RoomTypeCode = "Test Room Type Code"
            });

            //mockChannelManagerRepository.Setup(m => m.ValidateUpdateAllocationRequest(baseRequest.UpdateAllocationsValidationRequest)).Returns(Task.FromResult(new BaseResult<bool> {Result = false,ExceptionMessage =Common.GetMockException(),IsError = true }));
            //mockChannelManagerRepository.Setup(c => c.UpdateAllocationRates(baseRequest.UpdateAllocationRatesRequest[0])).Returns(Task.FromResult(new BaseResult<bool>()));
            IActionResult actioResult = await fakeChannelManagerController.UpdateAllocationRates(baseRequest);

            //IActionResult actioResult = await channelManagerController.UpdateAllocationRates(baseRequest);
            Assert.IsTrue(actioResult != null);
            Assert.AreEqual(((Microsoft.AspNetCore.Mvc.StatusCodeResult)actioResult).StatusCode, 500);
        }
Ejemplo n.º 6
0
        public async Task TestUpdateAllocationRatesRates_RoomTypesRatesCombinationAreNotPresent_RoomAndRateNotFound()
        {
            UpdateAllocationRatesBaseRequest baseRequest = new UpdateAllocationRatesBaseRequest
            {
                UpdateAllocationsValidationRequest = new UpdateAllocationsValidationRequest()
            };

            baseRequest.UpdateAllocationsValidationRequest.HotelCode        = "IN10000008";
            baseRequest.UpdateAllocationsValidationRequest.ChannelManagerId = 1;
            baseRequest.UpdateAllocationsValidationRequest.RoomTypeRatePlanList.Add(new RoomTypeRatePlan {
                RatePlanCode = "Test Rate Plan Code", RoomTypeCode = "Test Room Type Code"
            });
            // mockChannelManagerRepository.Setup(c => c.UpdateAllocationRates(request)).Returns(Task.FromResult(new BaseResult<bool>()));
            //  IActionResult actioResult = await mockChannelManagerController.UpdateAllocationRates(baseRequest);
            IActionResult actioResult = await channelManagerController.UpdateAllocationRates(baseRequest);

            Assert.IsTrue(actioResult is BadRequestObjectResult);
            var result = actioResult as BadRequestObjectResult;
            BaseResult <bool> response = result.Value as BaseResult <bool>;

            Assert.AreEqual(response.ErrorCode, (int)Constants.ErrorCodes.NoRate);
            Assert.IsTrue(String.Compare(response.Message, Constants.ErrorMessage.NoRates, StringComparison.InvariantCultureIgnoreCase) == 0);
        }