Beispiel #1
0
        public async Task Shoud_Get_Candidates_In_CandidateService()
        {
            var candidates    = GetCandidateModelFixture();
            var candidatesDTO = new List <CandidateDTO>();

            candidatesDTO = candidates.Select(d => new CandidateDTO(d.FirstName, d.LastName, d.Test.Title, 3)).ToList();

            var testModel = new List <TestModel>();

            testModel.Add(new TestModel("c#", 1, 10));
            testModel.Add(new TestModel("python", 2, 10));
            testModel.Add(new TestModel(".net core", 3, 10));

            var answers = new List <AnswerModel>();

            answers.Add(new AnswerModel(1, 1, "1", "a", 1));
            answers.Add(new AnswerModel(2, 2, "2", "b", 1));
            answers.Add(new AnswerModel(3, 3, "3", "c", 1));

            var mockRepository = Substitute.For <ICandidatesRepository>();
            var logger         = Substitute.For <ILog>();

            mockRepository.GetCandidatesAsync().Returns(candidates);
            mockRepository.GetTestsAsync().Returns(testModel);
            mockRepository.GetAnswersAsync().Returns(answers);

            var candidateService = new CandidatesService(mockRepository, logger);
            var result           = await candidateService.GetCandidatesAsync();

            string serialize1 = JsonConvert.SerializeObject(candidatesDTO);
            string serialize2 = JsonConvert.SerializeObject(result);

            Assert.AreEqual(serialize1, serialize2);
        }