コード例 #1
0
        public QuizManagementServiceTest()
        {
            _entityValidator = A.Fake<EntityValidator>();
            _quizRepository = A.Fake<IQuizRepository>();
            _quizDtoMapper = A.Fake<IQuizDtoMapper>();
            _questionDtoMapper = A.Fake<IQuestionDtoMapper>();
            _assignedQuizDtoMapper = A.Fake<IAssignedQuizDtoMapper>();

            _quizManagementService = new QuizManagementService(_quizRepository, _quizDtoMapper, _entityValidator, _questionDtoMapper, _assignedQuizDtoMapper);

            _validQuiz = new Entities.Quiz
                         {
                             Name = "Test",
                             Description = "Description",
                             Questions =
                                 new List<Question>
                                 {
                                     A.Fake<Question>(),
                                     A.Fake<Question>()
                                 }
                         };

            _validAssignment = new AssignedQuizModel
                         {
                            Quiz = new Entities.Quiz(),
                            Group = new Group(),
                            StartDate = DateTime.Now,
                            EndDate = DateTime.Now.AddDays(1)
                         };
        }
コード例 #2
0
        public void AssignTestToGroupAsync_InvalidAssignment_ExceptionThrown()
        {
            var invalidAssignment = new AssignedQuizModel();

            A.CallTo(
                () =>
                    _entityValidator.ValidateEntity<IAssignedQuizModel>(invalidAssignment))
                .Returns(
                    new EntityValidationResult(false, new[]
                    {
                        new ValidationResult("Test required", new[] {"Test"}),
                        new ValidationResult("Group required", new[] {"Group"}),
                    }));

            var aggregateException = Assert.Throws<AggregateException>(() => _quizManagementService.AssignQuizToGroupAsync(invalidAssignment).Wait());
            var exception = (InvalidAssignedTestException) aggregateException.GetBaseException();

            Assert.True(exception.ValidationResults.Any(x => x.MemberNames.First() == "Test"));
            Assert.True(exception.ValidationResults.Any(x => x.MemberNames.First() == "Group"));
        }