public void GetShouldReturnNotFoundResult()
        {
            var controller = new RecruitmentController();

            controller.SetCandidates(this.GetCandidatesTestData());

            var actionResult = controller.Get(Guid.NewGuid()); // generate random guid that won't be found

            // Assert
            Assert.IsType <NotFoundResult>(actionResult);
        }
        public void GetShouldReturnOKWithAllCandidates()
        {
            var controller = new RecruitmentController();
            var testData   = this.GetCandidatesTestData();

            controller.SetCandidates(this.GetCandidatesTestData());

            var actionResult = controller.Get();

            // Asserts
            Assert.IsType <OkObjectResult>(actionResult);

            var okObjectResult = actionResult as OkObjectResult;
            var candidates     = okObjectResult.Value as List <Candidate>;

            Assert.Equal(candidates.Count, testData.Count);
        }
        public void GetShouldReturnOKWithCandidate()
        {
            var controller = new RecruitmentController();

            controller.SetCandidates(this.GetCandidatesTestData());

            var actionResult = controller.Get(Guid.Parse("18c46c62-3f33-4e6c-a2b2-49f7d9887051")); // try find John Smith in the List by Guid

            // Asserts
            Assert.IsType <OkObjectResult>(actionResult);

            var okObjectResult = actionResult as OkObjectResult;
            var candidate      = okObjectResult.Value as Candidate;

            Assert.Equal("John", candidate.FirstName);
            Assert.Equal("Smith", candidate.LastName);
            Assert.False(candidate.ShouldSendOffer);
        }