public void GetReturnsMultipleObjects()
        {
            // Arrange
            List <Proizvod> proizvodi = new List <Proizvod>();

            proizvodi.Add(new Proizvod()
            {
                Id = 1, Naziv = "Proizvod"
            });
            proizvodi.Add(new Proizvod()
            {
                Id = 2, Naziv = "Proizvod2"
            });

            var mockRepository = new Mock <IProizvodRepository>();

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

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

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(proizvodi.Count, result.ToList().Count);
            Assert.AreEqual(proizvodi.ElementAt(0), result.ElementAt(0));
            Assert.AreEqual(proizvodi.ElementAt(1), result.ElementAt(1));
        }
        public void GetReturnsNotFound()
        {
            // Arrange
            var mockRepository = new Mock <IProizvodRepository>();
            var controller     = new ProizvodiController(mockRepository.Object);

            // Act
            IHttpActionResult actionResult = controller.Get(10);

            // Assert
            Assert.IsInstanceOfType(actionResult, typeof(NotFoundResult));
        }
        public void GetReturnsProductWithSameId()
        {
            // Arrange
            var mockRepository = new Mock <IProizvodRepository>();

            mockRepository.Setup(x => x.GetById(42)).Returns(new Proizvod {
                Id = 42
            });

            var controller = new ProizvodiController(mockRepository.Object);

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

            // Assert
            Assert.IsNotNull(contentResult);
            Assert.IsNotNull(contentResult.Content);
            Assert.AreEqual(42, contentResult.Content.Id);
        }