Example #1
0
        public void TestSaveAndUpdateRoomBedRelation_SavePassed_Success()
        {
            //Arrange
            var userName      = "******";
            var id            = 1;
            var roombedObject = new RoomBedListViewModel()
            {
                ID          = 0,
                BedId       = id,
                NoOfBeds    = 2,
                ObjectState = ObjectState.Added
            };
            var roomBedOptionObject = new RoomBedOptionViewModel()
            {
                OccupancyId = id,
                ObjectState = ObjectState.Added
            };

            roomBedOptionObject.RoomBedList.Add(roombedObject);
            var hotelRoomObject = new HotelRoomTypeViewModel()
            {
                IsActive      = true,
                HotelId       = 1,
                IsFreeSale    = true,
                IsSmoking     = true,
                NoOfRooms     = 2,
                Description   = "Description",
                Name          = "Name",
                Size          = 5,
                RoomTypeId    = id,
                SizeMeasureId = id,
                ObjectState   = ObjectState.Added
            };

            hotelRoomObject.RoomBedOptions = roomBedOptionObject;
            iRoomBedRelationLibrary.Setup(a => a.InsertEntityList(It.IsAny <List <RoomBedRelation> >())).Returns(Task.FromResult(new BaseResult <long> {
                Result = id
            }));
            //Act
            var result = roomRepository.SaveAndUpdateRoomBedRelation(hotelRoomObject, id, userName);

            //Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Result is BaseResult <RoomBedRelation>);
            Assert.IsTrue(result.Result.Result.ID == id);
        }
        public async Task TestCreateRoomType_Failed_BadRequest()
        {
            //Arrange

            var id            = 1;
            var roombedObject = new RoomBedListViewModel()
            {
                ID          = 0,
                BedId       = id,
                NoOfBeds    = 2,
                ObjectState = ObjectState.Added
            };
            var roomBedOptionObject = new RoomBedOptionViewModel()
            {
                OccupancyId = id,
                ObjectState = ObjectState.Added
            };

            roomBedOptionObject.RoomBedList.Add(roombedObject);
            var hotelRoomObject = new HotelRoomTypeViewModel()
            {
                IsActive        = true,
                HotelId         = 1,
                IsFreeSale      = true,
                IsSmoking       = true,
                NoOfRooms       = 2,
                Description     = "Description",
                Name            = "Name",
                Size            = 5,
                RoomTypeId      = id,
                SizeMeasureId   = id,
                ObjectState     = ObjectState.Added,
                NoOfDoubleRooms = 0,
                NoOfTwinRooms   = 0,
            };

            hotelRoomObject.RoomBedOptions = roomBedOptionObject;
            //Act
            var result = await mockRoomController.CreateRoomType(hotelRoomObject);

            //Assert
            mockRoomRepository.Verify();
            Assert.IsTrue(result is BadRequestObjectResult);
            Assert.AreEqual(((BadRequestObjectResult)result).StatusCode, 400);
        }
Example #3
0
        /// <summary>
        /// Maps to Hotelroom view model
        /// </summary>
        /// <param name="room"></param>
        /// <param name="roomBed"></param>
        /// <returns>BaseResult<HotelRoomTypeViewModel></returns>
        public static BaseResult <HotelRoomTypeViewModel> MapRoomDetails(Room room, List <RoomBedRelation> roomBed)
        {
            BaseResult <HotelRoomTypeViewModel> model       = new BaseResult <HotelRoomTypeViewModel>();
            List <RoomBedListViewModel>         roomBedList = new List <RoomBedListViewModel>();
            HotelRoomTypeViewModel roomModel = new HotelRoomTypeViewModel
            {
                RoomId        = room.Id,
                HotelId       = room.HotelId,
                IsActive      = room.IsActive,
                IsFreeSale    = room.IsFreeSale,
                IsSmoking     = room.IsSmoking,
                NoOfRooms     = room.NoOfRooms,
                Description   = room.Description,
                Name          = room.Name,
                Size          = room.Size,
                RoomTypeId    = room.RoomTypeId,
                SizeMeasureId = room.SizeMeasureId,
            };

            foreach (var item in roomBed)
            {
                RoomBedListViewModel roomBedModel = new RoomBedListViewModel
                {
                    ID       = item.ID,
                    BedId    = item.BedId,
                    NoOfBeds = item.NoOfBeds
                };
                roomBedList.Add(roomBedModel);
            }
            RoomBedOptionViewModel roomBedOptionModel = new RoomBedOptionViewModel
            {
                OccupancyId = room.NoOfGuests,
            };

            roomBedOptionModel.RoomBedList = roomBedList;
            roomModel.RoomBedOptions       = roomBedOptionModel;
            model.Result = roomModel;
            return(model);
        }
Example #4
0
        public void TestSaveAndUpdateRoomBedRelation_EditRoom_Failed()
        {
            //Arrange
            var userName      = "******";
            var id            = 1;
            var roombedObject = new RoomBedListViewModel()
            {
                ID          = 1,
                BedId       = id,
                NoOfBeds    = 2,
                ObjectState = ObjectState.Modified
            };
            var roomBedOptionObject = new RoomBedOptionViewModel()
            {
                OccupancyId = id,
                ObjectState = ObjectState.Modified
            };

            roomBedOptionObject.RoomBedList.Add(roombedObject);
            var hotelRoomObject = new HotelRoomTypeViewModel()
            {
                RoomId        = id,
                IsActive      = true,
                HotelId       = 1,
                IsFreeSale    = true,
                IsSmoking     = true,
                NoOfRooms     = 2,
                Description   = "Description",
                Name          = "Name",
                Size          = 5,
                RoomTypeId    = id,
                SizeMeasureId = id,
                ObjectState   = ObjectState.Unchanged
            };

            hotelRoomObject.RoomBedOptions = roomBedOptionObject;
            var room = new RoomBedRelation()
            {
                ID = id, IsDeleted = false, HotelId = id
            };
            var baseResult = new BaseResult <List <RoomBedRelation> >()
            {
                Result = new List <RoomBedRelation>()
                {
                    room
                }
            };
            var pred = new Func <RoomBedRelation, bool>(x => x.ID == id && x.IsDeleted == false);

            iRoomBedRelationLibrary.Setup(a => a.GetListByPredicate(It.Is <Func <RoomBedRelation, bool> >(x => x.GetType() == pred.GetType()))).Returns(Task.FromResult(baseResult)).Verifiable();
            iRoomBedRelationLibrary.Setup(a => a.UpdateEntityByDapper(It.IsAny <RoomBedRelation>())).Returns(Task.FromResult(new BaseResult <bool> {
                IsError = true, ExceptionMessage = Helper.Common.GetMockException()
            })).Verifiable();
            //Act
            var result = roomRepository.SaveAndUpdateRoomBedRelation(hotelRoomObject, id, userName);

            //Assert
            iRoomLibrary.Verify();
            Assert.IsTrue(result.Result.IsError);
            Assert.IsTrue(result.Result.ExceptionMessage != null);
        }
Example #5
0
        public void TestSaveAndUpdateRoomBedRelation_RoomEditPassed_Success()
        {
            //Arrange
            var userName      = "******";
            var id            = 1;
            var roombedObject = new RoomBedListViewModel()
            {
                ID          = 1,
                BedId       = id,
                NoOfBeds    = 2,
                ObjectState = ObjectState.Modified
            };
            var roomBedOptionObject = new RoomBedOptionViewModel()
            {
                OccupancyId = id,
                ObjectState = ObjectState.Modified
            };

            roomBedOptionObject.RoomBedList.Add(roombedObject);
            var hotelRoomObject = new HotelRoomTypeViewModel()
            {
                RoomId        = 1,
                IsActive      = true,
                HotelId       = 1,
                IsFreeSale    = true,
                IsSmoking     = true,
                NoOfRooms     = 2,
                Description   = "Description",
                Name          = "Name",
                Size          = 5,
                RoomTypeId    = id,
                SizeMeasureId = id,
                ObjectState   = ObjectState.Modified
            };

            hotelRoomObject.RoomBedOptions = roomBedOptionObject;
            var room = new Room()
            {
                Id = id, IsActive = true, IsDeleted = false, HotelId = id
            };
            var baseResult = new BaseResult <List <Room> >()
            {
                Result = new List <Room>()
                {
                    room
                }
            };
            var pred = new Func <Room, bool>(x => x.Id == id && x.IsDeleted == false);

            iRoomLibrary.Setup(a => a.GetListByPredicate(It.Is <Func <Room, bool> >(x => x.GetType() == pred.GetType()))).Returns(Task.FromResult(baseResult)).Verifiable();
            iRoomLibrary.Setup(a => a.UpdateEntityByDapper(It.IsAny <Room>())).Returns(Task.FromResult(new BaseResult <bool> {
                Result = true
            })).Verifiable();
            //Act
            var result = roomRepository.SaveAndUpdateRoom(hotelRoomObject, userName);

            //Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Result is BaseResult <List <Room> >);
            Assert.IsTrue(result.Result.Result.Any(x => x.Id == id));
        }
        public async Task TestCreateRoomType_SuccessOkResponse()
        {
            //Arrange

            var id            = 1;
            var roombedObject = new RoomBedListViewModel()
            {
                ID          = 0,
                BedId       = id,
                NoOfBeds    = 2,
                ObjectState = ObjectState.Added
            };
            var roomBedOptionObject = new RoomBedOptionViewModel()
            {
                OccupancyId = id,
                ObjectState = ObjectState.Added
            };

            roomBedOptionObject.RoomBedList.Add(roombedObject);
            var hotelRoomObject = new HotelRoomTypeViewModel()
            {
                RoomId        = 0,
                IsActive      = true,
                HotelId       = id,
                IsFreeSale    = true,
                IsSmoking     = true,
                NoOfRooms     = 4,
                Description   = "Description",
                Name          = "Name",
                Size          = 5,
                RoomTypeId    = id,
                SizeMeasureId = id,
                ObjectState   = ObjectState.Added
            };

            hotelRoomObject.RoomBedOptions = roomBedOptionObject;
            mockRoomRepository.Setup(a => a.SaveAndUpdateRoom(It.IsAny <HotelRoomTypeViewModel>(), It.IsAny <string>())).Returns(Task.FromResult(new BaseResult <List <Room> >()
            {
                Result = new List <Room>()
                {
                    new Room()
                    {
                        Id = id
                    }
                }
            }));
            mockRoomRepository.Setup(a => a.SaveAndUpdateRoomBedRelation(It.IsAny <HotelRoomTypeViewModel>(), It.IsAny <int>(), It.IsAny <string>())).Returns(Task.FromResult(new BaseResult <RoomBedRelation>()
            {
                Result = new RoomBedRelation {
                    ID = id
                }
            }));
            // mockRoomRepository.Setup(a => a.GetOccupancy()).Returns(Task.FromResult(new BaseResult<List<Occupancy>>() { Result = new List<Occupancy> { new Occupancy { Id = 1, NoOfGuest = 2, IsActive = true } } }));
            //Act
            IActionResult result = await mockRoomController.CreateRoomType(hotelRoomObject);

            BaseResult <List <Room> > finalResult = (result as Microsoft.AspNetCore.Mvc.OkObjectResult).Value as BaseResult <List <Room> >;

            //Assert
            Assert.AreEqual(((Microsoft.AspNetCore.Mvc.ObjectResult)result).StatusCode, 200);
            Assert.IsNotNull(finalResult);
            Assert.IsTrue(!finalResult.IsError);
        }