示例#1
0
        public void Index_ShouldReturnSameCountOfRooms()
        {
            var context = new TestHotelContext();

            Hotel   p = new Hotel();
            TipSobe c = new TipSobe();

            context.Hoteli.Add(p);
            context.TipSoba.Add(c);

            var controller = new SobaController(context);

            controller.Create(new Soba {
                Hotel = p, TipSobe = c
            });
            controller.Create(new Soba {
                Hotel = p, TipSobe = c
            });
            controller.Create(new Soba {
                Hotel = p, TipSobe = c
            });

            var result   = controller.Index() as ViewResult;
            var roomData = (IList <Soba>)result.ViewData.Model;

            Assert.IsNotNull(roomData, "There's no room data");
            Assert.AreEqual(3, roomData.Count, "The count does not match");
        }
示例#2
0
        public void GetSobaVracaNotFound()
        {
            var context = new TestHotelContext();

            context.Sobas = GetDemoSoba;

            var controller           = new SobaController(context);
            IHttpActionResult result = controller.GetSoba(99);

            Assert.IsInstanceOfType(result, typeof(NotFoundResult));
            TestProfile.De();
        }
示例#3
0
        public void Create_ShouldRedirectToIndex()
        {
            mockContext = new Mock <IHotelAC>();
            mockSet     = new Mock <DbSet <Soba> >();
            mockContext.Setup(m => m.Sobe).Returns(mockSet.Object);

            var controller = new SobaController(mockContext.Object);
            RedirectToRouteResult result = (RedirectToRouteResult)controller.Create(new Soba());

            Assert.AreEqual("Index", result.RouteValues["action"], "The specified route doesnt redirect to index");
            Assert.IsNull(result.RouteValues["SobaController"], "The route in the rooms controller is pointing to null");
        }
示例#4
0
        public void GetSobaVracaSveSobe()
        {
            var context = new TestHotelContext();

            context.Sobas = GetDemoSoba;

            var controller = new SobaController(context);
            var result     = controller.GetSobas();

            Assert.IsNotNull(result);
            Assert.AreEqual(3, result.Count());
            TestProfile.De();
        }
示例#5
0
        public void DeleteSobaZaNepostojecuSobu()
        {
            var context = new TestHotelContext();

            context.Sobas = GetDemoSoba;

            var controller = new SobaController(context);

            IHttpActionResult actionResult = controller.DeleteSoba(99);

            Assert.IsInstanceOfType(actionResult, typeof(NotFoundResult));
            TestProfile.De();
        }
示例#6
0
        public void Create_ShouldCreateRoom()
        {
            mockContext = new Mock <IHotelAC>();
            mockSet     = new Mock <DbSet <Soba> >();
            mockContext.Setup(m => m.Sobe).Returns(mockSet.Object);

            var controller = new SobaController(mockContext.Object);

            controller.Create(new Soba());

            mockSet.Verify(m => m.Add(It.IsAny <Soba>()), Times.Once, "Could not create a room");
            mockContext.Verify(m => m.SaveChanges(), Times.Once, "Could not save the changes to the database");
        }
示例#7
0
        public void PutSobaVracaNotFound()
        {
            var context = new TestHotelContext();

            context.Sobas = GetDemoSoba;

            var     controller = new SobaController(context);
            SobaDto soba       = new SobaDto {
                ID = 99, SobaTipID = 2, HotelID = 1
            };
            IHttpActionResult result = controller.PutSoba(soba);

            Assert.IsInstanceOfType(result, typeof(NotFoundResult));
            TestProfile.De();
        }
示例#8
0
        public void Delete_ShouldReturnNotFound()
        {
            mockContext = new Mock <IHotelAC>();
            mockSet     = new Mock <DbSet <Soba> >();
            mockContext.Setup(m => m.Sobe).Returns(mockSet.Object);

            var controller = new SobaController(mockContext.Object);

            controller.Create(new Soba {
                SobaID = 1
            });
            controller.Delete(2);
            controller.DeleteConfirmed(2);
            ActionResult result = controller.Delete(2);

            Assert.IsInstanceOfType(result, typeof(HttpNotFoundResult), "The room exists");
        }
示例#9
0
        public void Delete_ShouldDeleteCorrectRoom()
        {
            mockContext = new Mock <IHotelAC>();
            mockSet     = new Mock <DbSet <Soba> >();
            mockContext.Setup(m => m.Sobe).Returns(mockSet.Object);

            var controller = new SobaController(mockContext.Object);

            controller.Create(new Soba {
                SobaID = 10
            });
            controller.Delete(10);
            controller.DeleteConfirmed(10);

            mockSet.Verify(m => m.Remove(It.IsAny <Soba>()), Times.Once, "Room failed to remove");
            mockContext.Verify(m => m.SaveChanges(), Times.Exactly(2), "Could not save changes");
        }
示例#10
0
        public void PostSobaVracaTuSobu()
        {
            var controller = new SobaController(new TestHotelContext());

            SobaDto soba = new SobaDto {
                ID = 4, SobaTipID = 1, HotelID = 1
            };

            var result =
                controller.PostSoba(soba) as CreatedAtRouteNegotiatedContentResult <SobaDto>;


            Assert.IsNotNull(result);
            Assert.AreEqual(result.RouteName, "DefaultApi");
            Assert.AreEqual(result.RouteValues["id"], result.Content.ID);
            Assert.AreEqual(result.Content.HotelID, soba.HotelID);
            TestProfile.De();
        }
示例#11
0
        public void GetSobaVracaSpecificnuSobu()
        {
            var context = new TestHotelContext();

            context.Sobas = GetDemoSoba;

            var controller = new SobaController(context);
            IHttpActionResult actionResult = controller.GetSoba(3);


            var contentResult = actionResult as OkNegotiatedContentResult <SobaDto>;


            Assert.IsNotNull(actionResult);
            Assert.IsNotNull(contentResult.Content);
            Assert.AreEqual(3, contentResult.Content.ID);
            TestProfile.De();
        }
示例#12
0
        public void Create_ShouldNotCreateRoomWithoutRoomType()
        {
            var context = new TestHotelContext();

            Hotel   p = new Hotel();
            TipSobe c = new TipSobe();

            context.Hoteli.Add(p);
            context.TipSoba.Add(c);

            var controller = new SobaController(context);

            controller.Create(new Soba {
                Hotel = p, TipSobe = c, TipSobeID = 5
            });
            controller.ModelState.AddModelError("TipSobeID", "Room type does not exist");

            Assert.IsTrue(controller.ModelState.IsValid == false, "The model state is valid");
        }
示例#13
0
        public void Update_ShouldUpdateRoom()
        {
            mockContext = new Mock <IHotelAC>();
            mockSet     = new Mock <DbSet <Soba> >();
            mockContext.Setup(m => m.Sobe).Returns(mockSet.Object);

            var controller = new SobaController(mockContext.Object);
            var newRoom    = new Soba
            {
                BrojSobe  = 100,
                HotelID   = 1,
                SobaID    = 1,
                TipSobeID = 1
            };

            controller.Create(newRoom);
            newRoom.BrojSobe = 200;
            controller.Edit(newRoom);

            Assert.IsTrue(200 == newRoom.BrojSobe, "The room did not update");
        }