public void UpdateMeetInvalidModelReturnsInvalidModelStateResult()
        {
            //Setup
            var mockMeetsRepo = new Mock <IMeetRepo>();
            var meet          = new Meet();
            var sut           = new MeetsController(mockMeetsRepo.Object);

            sut.ModelState.AddModelError("MeetName", "MeetName is required");

            //action
            var res = sut.UpdateMeet(meet);

            //assert
            res.Should().BeOfType <InvalidModelStateResult>();
            res.As <InvalidModelStateResult>().ModelState.IsValid.Should().BeFalse();
        }
        public void UpdateMeetPoolLengthNotValidReturnsBadRequest()
        {
            //Setup
            var mockMeetsRepo = new Mock <IMeetRepo>();
            var meet          = new Meet()
            {
                PoolLength = "1000"
            };
            var sut = new MeetsController(mockMeetsRepo.Object);


            //action
            var res = sut.UpdateMeet(meet);

            //assert
            res.Should().BeOfType <BadRequestErrorMessageResult>();
            res.As <BadRequestErrorMessageResult>().Message.Should().Be("Pool Length must match the neutral file format code");
        }
        public void UpdateMeetValidMeetAndDbSuccessfulReturnsOk()
        {
            //Setup
            var mockMeetsRepo = new Mock <IMeetRepo>();
            var meet          = new Meet()
            {
                MeetDate   = new DateTime(),
                MeetName   = "Test Meet",
                MeetId     = 1,
                MeetVenue  = "Test Venue",
                PoolLength = "11"
            };

            mockMeetsRepo.Setup(MMR => MMR.UpdateMeet(meet)).Returns(true);
            var sut = new MeetsController(mockMeetsRepo.Object);

            //Action
            var res = sut.UpdateMeet(meet);

            //Assert
            res.Should().BeOfType <OkResult>();
        }
        public void UpdateMeetValidMeetAndDbUnSuccessfulReturnsBadRequest()
        {
            //Setup
            var mockMeetsRepo = new Mock <IMeetRepo>();
            var meet          = new Meet()
            {
                MeetDate   = new DateTime(),
                MeetName   = "Test Meet",
                MeetId     = 1,
                MeetVenue  = "Test Venue",
                PoolLength = "11"
            };

            mockMeetsRepo.Setup(MMR => MMR.UpdateMeet(meet)).Returns(false);
            var sut = new MeetsController(mockMeetsRepo.Object);

            //Action
            var res = sut.UpdateMeet(meet);

            //Assert
            res.Should().BeOfType <BadRequestErrorMessageResult>();
            res.As <BadRequestErrorMessageResult>().Message.Should().Be("Meet failed to be updated");
        }