public void GetHearingById_ReturnsBadRequest()
        {
            // Arrange
            var hearingRepo         = new Mock <IHearingsRepository>();
            var hearingManipulation = new HearingsManipulation(hearingRepo.Object);
            var controller          = new HearingsController(hearingManipulation);

            // Act
            var result = controller.Get(-1);

            // Assert
            Assert.IsType <BadRequestObjectResult>(result);
        }
        public void Delete_ReturnsOK()
        {
            // Arrange
            int      id          = 123;
            DateTime hearingDate = DateTime.Now;

            int createdByUserId = 1;
            int caseId          = 3;

            var usersOnHearing = new List <UserHearingDto>()
            {
                new UserHearingDto()
                {
                    UserId = 1
                }
            };

            var notes = new List <NoteDto>()
            {
                new NoteDto
                {
                    Text            = "test test",
                    CreatedByUserId = 1,
                    HearingId       = 123
                }
            };

            var hearing = new HearingDto()
            {
                HearingId       = id,
                HearingDate     = hearingDate,
                CreatedByUserId = createdByUserId,
                CaseId          = caseId,
                UserHearing     = usersOnHearing,
                Note            = notes
            };

            var hearingRepo = new Mock <IHearingsRepository>();

            hearingRepo.Setup(x => x.InsertHearing(hearing));
            var hearingManipulation = new HearingsManipulation(hearingRepo.Object);


            var controller = new HearingsController(hearingManipulation);

            // Act
            var result = controller.DeleteHearing(3);

            // Assert
            Assert.IsType <OkObjectResult>(result);
        }
        public void Update_ReturnsUpdatedHearing()
        {
            // Arrange
            int      id          = 123;
            DateTime hearingDate = DateTime.Now;

            int createdByUserId = 1;
            int caseId          = 3;

            var usersOnHearing = new List <UserHearingDto>()
            {
                new UserHearingDto()
                {
                    UserId = 1
                }
            };

            var notes = new List <NoteDto>()
            {
                new NoteDto
                {
                    Text            = "test test",
                    CreatedByUserId = 1,
                    HearingId       = 123
                }
            };

            var newNotes = new List <NoteDto>()
            {
                new NoteDto
                {
                    Text            = "test test",
                    CreatedByUserId = 1,
                    HearingId       = 123
                },
                new NoteDto
                {
                    Text            = "new note",
                    CreatedByUserId = 2,
                    HearingId       = 123
                },
                new NoteDto
                {
                    Text            = "new note2",
                    CreatedByUserId = 3,
                    HearingId       = 123
                }
            };

            var hearing = new HearingDto()
            {
                HearingId       = id,
                HearingDate     = hearingDate,
                CreatedByUserId = createdByUserId,
                CaseId          = caseId,
                UserHearing     = usersOnHearing,
                Note            = notes
            };

            var hearingRepo = new Mock <IHearingsRepository>();

            hearingRepo.Setup(x => x.InsertHearing(hearing));
            var hearingManipulation = new HearingsManipulation(hearingRepo.Object);


            var controller = new HearingsController(hearingManipulation);

            // Act
            var resultCreated = controller.Post(hearing);

            hearing.HearingDate = DateTime.Now.AddDays(15);
            hearing.Note        = newNotes;

            var resultUpdated = controller.Put(id, hearing);

            // Assert
            Assert.IsType <OkObjectResult>(resultCreated);
            Assert.IsType <OkObjectResult>(resultUpdated);
        }