Exemple #1
0
        public async Task UpdateStatusNull()
        {
            UpdateQuizAttemptResponse result;

            using (var context = new QuizContext(ManagerTestHelper.Options))
            {
                var logManager = Mock.Of <ILogManager>();
                var sut        = new QuizAttemptManager(context, new QuestionManager(context, logManager), logManager);

                result = await sut.UpdateStatus(2, 0, new UpdateQuizAttemptStatus
                {
                    EndQuiz   = false,
                    TimeSpent = 10
                });
            }

            Assert.AreEqual(UpdateQuizAttemptStatusResult.NotAuthorized, result.Result);
            Assert.IsNull(result.Attempt);
        }
Exemple #2
0
        public async Task UpdateStatusAvailableIntervalPassed()
        {
            UpdateQuizAttemptResponse result;

            using (var context = new QuizContext(ManagerTestHelper.Options))
            {
                var logManager = Mock.Of <ILogManager>();
                var sut        = new QuizAttemptManager(context, new QuestionManager(context, logManager), logManager);
                var quiz       = new Quiz
                {
                    Title              = "title",
                    Intro              = "intro",
                    TimeConstraint     = true,
                    TimeLimitInSeconds = 40,
                    AvailableTo        = DateTime.Now.AddDays(-1)
                };

                var testData = await ManagerTestHelper.CreateAndAssignQuizAsync(context, quiz, true);

                var attempt = await context.QuizAttempts.AddAsync(
                    new QuizAttempt
                {
                    QuizId    = testData.QuizId,
                    UserId    = testData.UserId,
                    Status    = QuizAttemptStatus.Incomplete,
                    StartDate = DateTime.Now
                });

                await context.SaveChangesAsync();

                result = await sut.UpdateStatus(testData.UserId, attempt.Entity.Id, new UpdateQuizAttemptStatus
                {
                    TimeSpent = 30,
                    EndQuiz   = false
                });
            }

            Assert.AreEqual(UpdateQuizAttemptStatusResult.DateError, result.Result);
            Assert.AreNotEqual(QuizAttemptStatus.Incomplete, result.Attempt.Status);
        }