コード例 #1
0
        private void EditAnswer(Answer existingAnswer, ManageAnswerDto updatedAnswer)
        {
            existingAnswer.Content   = updatedAnswer.Content;
            existingAnswer.IsCorrect = updatedAnswer.IsCorrect;

            this.answerRepo.Update(existingAnswer);
        }
コード例 #2
0
        public void SucessfullyCallDataSaverSaveChanges_WhenInvokedWithValidParameters()
        {
            // Arrange
            // Domain
            var testId     = new Guid();
            var questionId = new Guid();
            var answerId   = new Guid();
            var category   = new Category()
            {
                Name = "JAVA"
            };
            var questionAnswers = new List <Answer>()
            {
                new Answer()
                {
                    Id        = answerId,
                    IsDeleted = false
                }
            };

            var testQuestions = new List <Question>()
            {
                new Question()
                {
                    Id        = questionId,
                    Answers   = questionAnswers,
                    IsDeleted = false
                }
            };

            var testStub = new Test()
            {
                Id        = testId,
                Questions = testQuestions,
                Category  = category
            };

            var testList = new List <Test>()
            {
                testStub
            };

            this.testRepoMock.Setup(x => x.All)
            .Returns(testList.AsQueryable());

            this.categoryRepoMock.Setup(x => x.All)
            .Returns(new List <Category>()
            {
                category
            }.AsQueryable());

            // DTO

            var dtoQuestion = new ManageQuestionDto()
            {
                Id = questionId.ToString()
            };
            var dtoAnswer = new ManageAnswerDto()
            {
                Id = answerId.ToString()
            };
            var dtoAnswersList = new List <ManageAnswerDto>()
            {
                dtoAnswer
            };

            dtoQuestion.Answers = dtoAnswersList;
            var dtoQuestionsList = new List <ManageQuestionDto>()
            {
                dtoQuestion
            };

            var testDtoArgument = new ManageTestDto()
            {
                Id           = testId.ToString(),
                CategoryName = category.Name,
                Questions    = dtoQuestionsList
            };

            var sut = new TestService(
                testRepoMock.Object, questionRepoMock.Object, answerRepoMock.Object, dataSaverMock.Object,
                mapperMock.Object, categoryRepoMock.Object, randomMock.Object, shufflerMock.Object, memoryCacheMock.Object);

            // Act

            sut.EditTest(testDtoArgument);

            // Assert

            this.dataSaverMock.Verify(x => x.SaveChanges(), Times.Once);
        }
コード例 #3
0
        public void SucessfullyCallQuestionRepoAdd_WhenInvokedWithValidParameters()
        {
            // Arrange
            // Domain
            var testId     = new Guid();
            var questionId = new Guid();
            var answerId   = new Guid();
            var category   = new Category()
            {
                Name = "JAVA"
            };
            var questionAnswers = new List <Answer>()
            {
                new Answer()
                {
                    Id        = answerId,
                    IsDeleted = false
                }
            };

            var testQuestions = new List <Question>()
            {
                new Question()
                {
                    Id        = questionId,
                    Answers   = questionAnswers,
                    IsDeleted = false
                }
            };

            var testStub = new Test()
            {
                Id        = testId,
                Questions = testQuestions,
                Category  = category
            };

            var testList = new List <Test>()
            {
                testStub
            };

            this.testRepoMock.Setup(x => x.All)
            .Returns(testList.AsQueryable());

            this.categoryRepoMock.Setup(x => x.All)
            .Returns(new List <Category>()
            {
                category
            }.AsQueryable());

            // DTO
            //var questiontoAdd = this.mapper.MapTo<Question>(updatedQuestion);

            var guidString             = "e376ce00-89b0-44f3-bd1c-a248535585b9";
            var questionDomainToReturn = new Question()
            {
                Id = Guid.Parse(guidString)
            };

            this.mapperMock.Setup(x => x.MapTo <Question>(It.IsAny <ManageQuestionDto>()))
            .Returns(questionDomainToReturn);
            var dtoQuestion = new ManageQuestionDto()
            {
                Id = guidString
            };
            var dtoAnswer = new ManageAnswerDto()
            {
                Id = answerId.ToString()
            };
            var dtoAnswersList = new List <ManageAnswerDto>()
            {
                dtoAnswer
            };

            dtoQuestion.Answers = dtoAnswersList;
            var dtoQuestionsList = new List <ManageQuestionDto>()
            {
                dtoQuestion
            };

            var testDtoArgument = new ManageTestDto()
            {
                Id           = testId.ToString(),
                CategoryName = category.Name,
                Questions    = dtoQuestionsList
            };

            var sut = new TestService(
                testRepoMock.Object, questionRepoMock.Object, answerRepoMock.Object, dataSaverMock.Object,
                mapperMock.Object, categoryRepoMock.Object, randomMock.Object, shufflerMock.Object, memoryCacheMock.Object);

            // Act

            sut.EditTest(testDtoArgument);

            // Assert

            this.questionRepoMock.Verify(x => x.Add(questionDomainToReturn), Times.Once);
        }