Пример #1
0
        public async Task TestGetRoomFieldsByTemplateId_sucess_OKResponse()
        {
            //Arrange
            var id      = 1;
            var request = new IntegerEntityViewModel()
            {
                Id = id
            };
            var template = new ContractTemplate()
            {
                Id         = id,
                Name       = "tem1",
                NameItemId = 1,
                IsActive   = true,
                IsDeleted  = false
            };
            var field1 = new TemplateRoomField()
            {
                Name           = "H1",
                FieldId        = 1,
                IsActive       = true,
                IsDeleted      = true,
                Code           = "cd100",
                IconPath       = "sym100",
                IsConfigurable = true
            };
            var field2 = new TemplateRoomField()
            {
                Name           = "H2",
                FieldId        = 2,
                IsActive       = true,
                IsDeleted      = false,
                Code           = "cd200",
                IconPath       = "sym200",
                IsConfigurable = true,
            };
            var fieldsResult = new BaseResult <List <TemplateRoomField> >()
            {
                Result = new List <TemplateRoomField>()
                {
                    field1, field2
                }
            };

            iTemplate.Setup(x => x.GetTemplateRoomFields(It.IsAny <int>(), It.Is <bool>(y => !y))).Returns(Task.FromResult(fieldsResult));
            var templateResult = new BaseResult <ContractTemplate>()
            {
                Result = template
            };

            iTemplate.Setup(x => x.GetContractTemplateByID(It.IsAny <int>())).Returns(Task.FromResult(templateResult));
            //Act
            var result = contractTemplatesController.GetRoomFields(request);

            //Assert
            Assert.IsTrue(result.Result is OkObjectResult);
            Assert.AreEqual(((OkObjectResult)result.Result).StatusCode, 200);
            Assert.IsTrue(((OkObjectResult)result.Result).Value is BaseResult <ContractTemplateViewModel>);
        }
Пример #2
0
        public async Task TestGetRoomFieldsByTemplateId_failed_Error_2()
        {
            //Arrange
            var id      = 1;
            var request = new IntegerEntityViewModel()
            {
                Id = id
            };
            var template = new ContractTemplate()
            {
                Id         = id,
                Name       = "tem1",
                NameItemId = 1,
                IsActive   = true,
                IsDeleted  = false
            };
            var field1 = new TemplateRoomField()
            {
                Name           = "H1",
                FieldId        = 1,
                IsActive       = true,
                IsDeleted      = true,
                Code           = "cd100",
                IconPath       = "sym100",
                IsConfigurable = true
            };
            var field2 = new TemplateRoomField()
            {
                Name           = "H2",
                FieldId        = 2,
                IsActive       = true,
                IsDeleted      = false,
                Code           = "cd200",
                IconPath       = "sym200",
                IsConfigurable = true,
            };
            var templateResult = new BaseResult <ContractTemplate>()
            {
                Result = template
            };

            iTemplate.Setup(x => x.GetContractTemplateByID(It.IsAny <int>())).Returns(Task.FromResult(templateResult));
            var baseResult = new BaseResult <List <TemplateRoomField> >()
            {
                IsError = true, ExceptionMessage = Common.GetMockException()
            };

            iTemplate.Setup(x => x.GetTemplateRoomFields(It.IsAny <int>(), It.Is <bool>(y => !y))).Returns(Task.FromResult(baseResult));
            //Act
            var result = contractTemplatesController.GetRoomFields(request);

            //Assert
            Assert.IsTrue(result.Result is StatusCodeResult);
            Assert.AreEqual(((StatusCodeResult)result.Result).StatusCode, 500);
        }
        public async Task <IActionResult> GetRoomFacilityFields([FromBody] IntegerEntityViewModel request)
        {
            var result = new BaseResult <ContractTemplateViewModel>
            {
                Result = new ContractTemplateViewModel()
            };
            var roomFacilityFields = await iTemplate.GetTemplateRoomFields(request.Id.Value, true).ConfigureAwait(false);

            if (roomFacilityFields.IsError || roomFacilityFields.ExceptionMessage != null)
            {
                return(new StatusCodeResult(500));
            }
            else if (!roomFacilityFields.Result.Any())
            {
                return(NoContent()); //204
            }
            var roomFacilityResult = await iamenities.GetRoomFacility().ConfigureAwait(false);

            if (roomFacilityResult.IsError || roomFacilityResult.ExceptionMessage != null)
            {
                return(new StatusCodeResult(500));
            }
            else if (!roomFacilityResult.Result.Any())
            {
                return(NoContent()); //204
            }
            var roomFacilityTypeResult = await iamenities.GetRoomFacilityType().ConfigureAwait(false);

            if (roomFacilityTypeResult.IsError || roomFacilityTypeResult.ExceptionMessage != null)
            {
                return(new StatusCodeResult(500));
            }
            //can be empty
            var roomFacilityGroupResult = await iamenities.GetRoomFacilityGroup().ConfigureAwait(false);

            if (roomFacilityGroupResult.IsError || roomFacilityGroupResult.ExceptionMessage != null)
            {
                return(new StatusCodeResult(500));
            }
            else if (!roomFacilityGroupResult.Result.Any())
            {
                return(NoContent());                                                                                                                                   //204
            }
            var amenities       = AmenitiesResponseMapper.MapRoomFacilitiesToRoomFacilityViewModel(roomFacilityResult.Result);                                         //maps to facilityViewModel
            var amenitiesTypes  = AmenitiesResponseMapper.MapRoomFacilityTypeToRoomFacilityViewModel(amenities, roomFacilityTypeResult.Result);                        //maps to HotelFacilityTypeViewModel
            var amenitiesGroups = AmenitiesResponseMapper.MapRoomFacilityGroupToRoomFacilityGroupViewModel(amenities, roomFacilityGroupResult.Result, amenitiesTypes); //Maps to HotelFacilityGroupViewModel
            var resultToReturn  = ContractTemplateResponseMapper.MapToRoomFacilityFieldViewModel(roomFacilityFields.Result, amenitiesGroups.Result);

            result.Result.RoomFacilityFields.AddRange(resultToReturn);


            return(Ok(result));
        }
Пример #4
0
        public void TestGetRoomFacilityFields_failed_NoContent()
        {
            //Arrange
            IntegerEntityViewModel vm = new IntegerEntityViewModel
            {
                Id = 1
            };
            var baseResult = new BaseResult <List <TemplateRoomField> >()
            {
                Result = new List <TemplateRoomField>()
            };

            iTemplate.Setup(x => x.GetTemplateRoomFields(1, true)).Returns(Task.FromResult(baseResult));
            //Act
            var result = contractTemplatesController.GetRoomFacilityFields(vm);

            //Assert
            Assert.IsTrue(result.Result is StatusCodeResult);
            Assert.AreEqual(((StatusCodeResult)result.Result).StatusCode, 204);
        }
Пример #5
0
        public void TestGetRoomFacilityFields_failed_Error()
        {
            //Arrange
            IntegerEntityViewModel vm = new IntegerEntityViewModel
            {
                Id = 1
            };
            var baseResult = new BaseResult <List <TemplateRoomField> >()
            {
                IsError = true, ExceptionMessage = Common.GetMockException()
            };

            iTemplate.Setup(x => x.GetTemplateRoomFields(1, true)).Returns(Task.FromResult(baseResult));
            //Act
            var result = contractTemplatesController.GetRoomFacilityFields(vm);

            //Assert
            Assert.IsTrue(result.Result is StatusCodeResult);
            Assert.AreEqual(((StatusCodeResult)result.Result).StatusCode, 500);
        }
Пример #6
0
        public async Task TestGetRoomFieldsByTemplateId_failed_NoContent_1()
        {
            //Arrange
            var id      = 1;
            var request = new IntegerEntityViewModel()
            {
                Id = id
            };
            var templateResult = new BaseResult <ContractTemplate>()
            {
                Result = null
            };

            iTemplate.Setup(x => x.GetContractTemplateByID(It.IsAny <int>())).Returns(Task.FromResult(templateResult));
            //Act
            var result = contractTemplatesController.GetRoomFields(request);

            //Assert
            Assert.IsTrue(result.Result is StatusCodeResult);
            Assert.AreEqual(((StatusCodeResult)result.Result).StatusCode, 204);
        }
Пример #7
0
        public async Task TestGetRoomFieldsByTemplateId_failed_Error_1()
        {
            //Arrange
            var id      = 1;
            var request = new IntegerEntityViewModel()
            {
                Id = id
            };
            var baseResult = new BaseResult <ContractTemplate>()
            {
                IsError = true, ExceptionMessage = Common.GetMockException()
            };

            iTemplate.Setup(x => x.GetContractTemplateByID(It.IsAny <int>())).Returns(Task.FromResult(baseResult));
            //Act
            var result = contractTemplatesController.GetRoomFields(request);

            //Assert
            Assert.IsTrue(result.Result is StatusCodeResult);
            Assert.AreEqual(((StatusCodeResult)result.Result).StatusCode, 500);
        }
 public async Task <IActionResult> GetRoomFields([FromBody] IntegerEntityViewModel request)
 {
     return(await GetRoomFields(request.Id.Value).ConfigureAwait(false));
 }