예제 #1
0
        public async void CanUpdateHotelRoom()
        {
            /// Can update an existing hotel room
            DbContextOptions <AsyncInnDbContext> options = new DbContextOptionsBuilder <AsyncInnDbContext>().UseInMemoryDatabase("UpdateHotelRoom").Options;

            using (AsyncInnDbContext context = new AsyncInnDbContext(options))
            {
                HotelRoom hoRoom = new HotelRoom();
                hoRoom.HotelID     = 90;
                hoRoom.RoomNumber  = 87;
                hoRoom.RoomID      = 81;
                hoRoom.Rate        = 350;
                hoRoom.PetFriendly = true;

                HotelRoomController hotController = new HotelRoomController(context);
                await hotController.Create(hoRoom);

                HotelRoom upRoom = hoRoom;
                upRoom.HotelID     = 90;
                upRoom.RoomNumber  = 87;
                upRoom.RoomID      = 81;
                upRoom.Rate        = 250;
                upRoom.PetFriendly = true;

                await hotController.Edit(90, 87, upRoom);

                var result = await context.HotelRoom.FirstOrDefaultAsync(ho => ho.HotelID == hoRoom.HotelID && ho.RoomNumber == hoRoom.RoomNumber);

                Assert.Equal(250, result.Rate);
            }
        }
        public void Task_Create_HotelRoom_Return_OkResult()
        {
            //Arrange
            var controller = new HotelRoomController(context);

            //Act
            var data = controller.Create();

            //Assert
            Assert.IsType <ViewResult>(data);
        }
        public void Task_Add_Hotel_Return_OkResult()
        {//Arrange
            var controller = new HotelRoomController(context);
            //Act
            var hotel = new HotelRoom()
            {
                RoomType        = "Delux",
                RoomPrice       = 2500,
                RoomDescription = "Delux Description",
                RoomImage       = "https://media-cdn.tripadvisor.com/media/photo-s/14/f4/d4/24/oyo-9674-hotel-oberoi.jpg",
                HotelId         = 2
            };
            var data = controller.Create(hotel);

            //Assert
            Assert.IsType <RedirectToActionResult>(data);
        }
예제 #4
0
        public void Test_DeleteConfirmed()
        {
            HotelRoomViewModel t = new HotelRoomViewModel()
            {
                Size = 2,
                Type = HotelRoomType.Workroom
            };
            IHotelTamagotchiContext c  = new FakeHotelTamagotchiContext();
            IHotelRoomRepository    tr = new HotelRoomRepository(c);
            HotelRoomController     tc = new HotelRoomController(tr);
            var ccMock = new Mock <ControllerContext>();

            ccMock.SetupGet(x => x.HttpContext.Session["User"]).Returns("testUser");
            ccMock.SetupGet(x => x.HttpContext.Session["Role"]).Returns(UserRole.Staff);
            tc.ControllerContext = ccMock.Object;

            tc.Create(t);
            tc.DeleteConfirmed(t.Id);

            Assert.IsFalse(tr.GetAll().Contains(t));
        }
예제 #5
0
        public void Test_Edit()
        {
            HotelRoomViewModel t = new HotelRoomViewModel()
            {
                Size = 2,
                Type = HotelRoomType.Workroom
            };
            IHotelTamagotchiContext c  = new FakeHotelTamagotchiContext();
            IHotelRoomRepository    tr = new HotelRoomRepository(c);
            HotelRoomController     tc = new HotelRoomController(tr);
            var ccMock = new Mock <ControllerContext>();

            ccMock.SetupGet(x => x.HttpContext.Session["User"]).Returns("testUser");
            ccMock.SetupGet(x => x.HttpContext.Session["Role"]).Returns(UserRole.Staff);
            tc.ControllerContext = ccMock.Object;

            tc.Create(t);
            t.Size = 5;
            tc.Edit(t);
            Assert.AreEqual(tr.Find(t.Id).Size, 5);
            tr.Remove(t);
        }
예제 #6
0
        public async void CanCreateHotelRoom()
        {
            /// Can create a new hotel room
            DbContextOptions <AsyncInnDbContext> options = new DbContextOptionsBuilder <AsyncInnDbContext>().UseInMemoryDatabase("CreateHotelRoom").Options;

            using (AsyncInnDbContext context = new AsyncInnDbContext(options))
            {
                HotelRoom hoRoom = new HotelRoom();
                hoRoom.HotelID     = 80;
                hoRoom.RoomNumber  = 77;
                hoRoom.RoomID      = 81;
                hoRoom.Rate        = 350;
                hoRoom.PetFriendly = true;

                HotelRoomController hotController = new HotelRoomController(context);
                await hotController.Create(hoRoom);

                var result = context.HotelRoom.FirstOrDefault(ho => ho.HotelID == hoRoom.HotelID && ho.RoomNumber == hoRoom.RoomNumber);

                Assert.Equal(hoRoom, result);
            }
        }