public void GetById_NotFound_Test()
        {
            // Arrange
            var mockService = new Mock <IAppointmentTestService>();
            var controller  = new AppointmentTestController(mockService.Object);

            // Act
            IHttpActionResult actionResult = controller.GetById(-1);

            // Assert
            Assert.IsInstanceOfType(actionResult, typeof(NotFoundResult));
        }
        public void Delete_Test()
        {
            // Arrange
            var mockService = new Mock <IAppointmentTestService>();
            var controller  = new AppointmentTestController(mockService.Object);
            int id          = 10;
            int userId      = 1;

            // Act
            IHttpActionResult actionResult = controller.Delete(id, userId);

            // Assert
            Assert.IsInstanceOfType(actionResult, typeof(OkResult));
        }
        public void Post_Test()
        {
            // Arrange
            var mockService = new Mock <IAppointmentTestService>();
            var controller  = new AppointmentTestController(mockService.Object);

            // Act
            IHttpActionResult actionResult = controller.Post(GetDemoItem(true), 1);
            var createdResult = actionResult as OkNegotiatedContentResult <int>;

            // Assert
            Assert.IsNotNull(createdResult);
            Assert.IsTrue(createdResult.Content >= 0);
        }
        public void GetByAppointmentId_Test()
        {
            // Arrange
            var mockService   = new Mock <IAppointmentTestService>();
            var controller    = new AppointmentTestController(mockService.Object);
            int appointmentId = 1;

            // Act
            IQueryable <AppointmentTestModel> response = controller.GetByAppointmentId(appointmentId);

            // Assert
            Assert.IsNotNull(response);
            Assert.AreEqual(response.Where(x => x.AppointmentId == appointmentId).Count(), response.Count());
        }
        public void Put_Test()
        {
            // Arrange
            var mockService = new Mock <IAppointmentTestService>();
            var controller  = new AppointmentTestController(mockService.Object);

            // Act
            IHttpActionResult actionResult = controller.Put(GetDemoItem(false), 1);
            var contentResult = actionResult as NegotiatedContentResult <AppointmentTestModel>;

            // Assert
            Assert.IsNotNull(contentResult);
            Assert.AreEqual(HttpStatusCode.Accepted, contentResult.StatusCode);
            Assert.IsNotNull(contentResult.Content);
            Assert.AreEqual(1, contentResult.Content.Id);
        }
        public void GetById_Test()
        {
            int id = 1;

            // Arrange
            var mockService = new Mock <IAppointmentTestService>();

            mockService.Setup(x => x.GetById(id))
            .Returns(new AppointmentTestModel {
                Id = id
            });

            var controller = new AppointmentTestController(mockService.Object);


            // Act
            IHttpActionResult actionResult = controller.GetById(id);
            var contentResult = actionResult as OkNegotiatedContentResult <AppointmentTestModel>;

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