public void KapacitetReturnsMultipleObjects()
        {
            List <Hotel> hoteli = new List <Hotel>();

            hoteli.Add(new Hotel {
                Id = 1, Naziv = "Hotel1", Godina = 1995, Sobe = 250, Zaposleni = 156
            });
            hoteli.Add(new Hotel {
                Id = 2, Naziv = "Hotel2", Godina = 1996, Sobe = 252, Zaposleni = 158
            });

            var mockRepository = new Mock <IHotelRepository>();

            mockRepository.Setup(x => x.Kapacitet(200, 500)).Returns(hoteli.OrderBy(x => x.Sobe).AsEnumerable());

            var controller = new HoteliController(mockRepository.Object);

            var model = new ApiModel {
                najmanje = 200, najvise = 500
            };

            IHttpActionResult result = controller.PostKapacitet(model);
            var createdResult        = result as OkNegotiatedContentResult <IEnumerable <Hotel> >;

            Assert.IsNotNull(createdResult);
            Assert.IsNotNull(createdResult.Content);
            Assert.AreEqual(createdResult.Content.ToList().Count(), hoteli.Count());
            Assert.AreEqual(createdResult.Content.ElementAt(0), hoteli.ElementAt(0));
            Assert.AreEqual(createdResult.Content.ElementAt(1), hoteli.ElementAt(1));
        }
        public void PostReturnsMultipleObjects() //vraca kolekciju objekata
        {
            // Arrange
            List <Hotel> employee = new List <Hotel>();

            employee.Add(new Hotel {
                Id = 4, Naziv = "Novica Cankovic"
            });
            employee.Add(new Hotel {
                Id = 5, Naziv = "Snezana Gardinovacki"
            });

            var mockRepository = new Mock <IHotelRepository>();

            mockRepository.Setup(x => x.GetAll()).Returns(employee.AsEnumerable());
            var controller = new HoteliController(mockRepository.Object);

            // Act
            IEnumerable <Hotel> result = controller.Get();

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(employee.Count, result.ToList().Count);
            Assert.AreEqual(employee.ElementAt(0), result.ElementAt(0));
            Assert.AreEqual(employee.ElementAt(1), result.ElementAt(1));
        }
        public void PutReturnBadRequest()
        {
            var mockRepository = new Mock <IHotelRepository>();
            var controller     = new HoteliController(mockRepository.Object);

            IHttpActionResult actionResult = controller.PutHotel(12, new Hotel {
                Id = 1, Naziv = "Hotel1", Godina = 1995, Sobe = 250, Zaposleni = 156
            });

            Assert.IsInstanceOfType(actionResult, typeof(BadRequestResult));
        }
        public void PutReturnsBadRequest() //400 BadRequest
        {
            // Arrange
            var mockRepository = new Mock <IHotelRepository>();
            var controller     = new HoteliController(mockRepository.Object);

            // Act
            IHttpActionResult actionResult = controller.Put(6, new Hotel {
                Id = 9, Naziv = "Hotel 6"
            });

            // Assert
            Assert.IsInstanceOfType(actionResult, typeof(BadRequestResult));
        }
        public void GetReturnsHotelWithSameId()
        {
            var mockRepository = new Mock <IHotelRepository>();

            mockRepository.Setup(x => x.GetById(1)).Returns(new Hotel {
                Id = 1, Naziv = "Hotel1", Godina = 1995, Sobe = 250, Zaposleni = 156
            });

            var controller = new HoteliController(mockRepository.Object);

            IHttpActionResult actionResult = controller.GetHotel(1);
            var contentResult = actionResult as OkNegotiatedContentResult <Hotel>;


            Assert.IsNotNull(contentResult);
            Assert.IsNotNull(contentResult.Content);
            Assert.AreEqual(1, contentResult.Content.Id);
        }
        public void GetReturnsEmployeesWithSameId() //200(OK) i objekat
        {
            // Arange
            var mockRepository = new Mock <IHotelRepository>();

            mockRepository.Setup(x => x.GetById(1)).Returns(new Hotel {
                Id = 1
            });

            var controller = new HoteliController(mockRepository.Object);

            // Act
            IHttpActionResult actionResult = controller.Get(1);
            var contentResult = actionResult as OkNegotiatedContentResult <Hotel>;

            // Assert
            Assert.IsNotNull(contentResult);
            Assert.IsNotNull(contentResult.Content);
            Assert.AreEqual(1, contentResult.Content.Id);
        }
        public void GetReturnsMultipleObjects()
        {
            List <Hotel> hoteli = new List <Hotel>();

            hoteli.Add(new Hotel {
                Id = 1, Naziv = "Hotel1", Godina = 1995, Sobe = 250, Zaposleni = 156
            });
            hoteli.Add(new Hotel {
                Id = 2, Naziv = "Hotel2", Godina = 1996, Sobe = 252, Zaposleni = 158
            });

            var mockRepository = new Mock <IHotelRepository>();

            mockRepository.Setup(x => x.GetAll()).Returns(hoteli.AsEnumerable());

            var controller = new HoteliController(mockRepository.Object);

            IEnumerable <Hotel> result = controller.GetHoteli();

            Assert.IsNotNull(result);
            Assert.AreEqual(hoteli.Count, result.ToList().Count);
            Assert.AreEqual(hoteli.ElementAt(0), result.ElementAt(0));
            Assert.AreEqual(hoteli.ElementAt(1), result.ElementAt(1));
        }