Exemplo n.º 1
0
        public async Task PostUpdate(int saveResult, SaveQuizResultStatus status, HttpStatusCode expectedResponse)
        {
            const int userId     = 56;
            const int quizId     = 44;
            const int questionId = 154;
            var       question   = new Question
            {
                Id    = questionId,
                Body  = "Test",
                Level = 3,
                Type  = QuestionType.MultiSelect
            };

            var response = new SaveQuizResult
            {
                Result = saveResult,
                Status = status
            };

            var questionManager = new Mock <IQuestionManager>();

            questionManager
            .Setup(c => c.UpdateQuestion(userId, quizId, questionId, question))
            .Returns(Task.FromResult(response));

            var sut = new QuestionsController(questionManager.Object);

            sut.Token = new AuthToken
            {
                Token      = "token",
                UserId     = userId,
                ValidUntil = DateTime.Now.AddDays(1),
                IsVerified = true
            };

            var result = await sut.PostUpdateQuestion(quizId, questionId, question);

            Assert.AreEqual(expectedResponse, (HttpStatusCode)result.StatusCode);
            Assert.IsTrue((HttpStatusCode)result.StatusCode != HttpStatusCode.OK || ((GenericWrapper <int>)result.Value).Value == saveResult);
        }
Exemplo n.º 2
0
        public async Task PutInsert(int saveResult, SaveQuizResultStatus status, HttpStatusCode expectedResponse)
        {
            const int userId = 56;
            var       quiz   = new Quiz
            {
                Title = "Test",
                Intro = "Intro"
            };

            var response = new SaveQuizResult
            {
                Result = saveResult,
                Status = status
            };

            var quizManager = new Mock <IQuizManager>();

            quizManager
            .Setup(c => c.InsertQuiz(userId, quiz))
            .Returns(Task.FromResult(response));

            var sut = new QuizzesController(quizManager.Object);

            sut.Token = new AuthToken
            {
                Token      = "token",
                UserId     = userId,
                ValidUntil = DateTime.Now.AddDays(1),
                IsVerified = true
            };

            var result = await sut.PutInsertQuiz(quiz);

            Assert.AreEqual(expectedResponse, (HttpStatusCode)result.StatusCode);
            Assert.IsTrue((HttpStatusCode)result.StatusCode != HttpStatusCode.OK || ((GenericWrapper <int>)result.Value).Value == saveResult);
        }