public void Post_FitToWork_ReturnsOk() { // Arrange var questionnaire = new UserQuestionnaireModel { }; var questionnaireResult = new QuestionnaireResult { IsFitToWork = true, UserMessage = "FitToWork" }; _mockUserService.Setup(m => m.SubmitUserQuestionnaire(questionnaire)) .Returns(questionnaireResult); // Act var response = _controller.Post(questionnaire); // Assert Assert.AreEqual(HttpStatusCode.OK, response.StatusCode, "Expected OK"); var result = JsonConvert.DeserializeObject<QuestionnaireResult>(response.Content.ReadAsStringAsync().Result); Assert.AreEqual(questionnaireResult.IsFitToWork, result.IsFitToWork); Assert.AreEqual(questionnaireResult.UserMessage, result.UserMessage); _mockUserService.Verify(m => m.SubmitUserQuestionnaire(questionnaire), Times.Once, "Expected questionnaire to be submitted"); }