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); }
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); }