public void GetUserDisLikedAnswersIdList_Must_Return_User_Liked_Answers_Ids_In_List() { // Arrange var db = StaticMethods.GetDb(); var discussionsService = new DiscussionsService(db, this.mapper); var testUser = StaticMethods.GetTestUser(); var testQBM = GetTestQuestionBM(); var content1 = "Test Answer"; var content2 = "Test Answer"; //Act db.Users.Add(testUser); db.SaveChanges(); var addedQuestion = discussionsService.AddQuestion(testQBM, testUser); var answer1 = discussionsService.AddAnswer(content1, testUser, addedQuestion.Id); var answer2 = discussionsService.AddAnswer(content2, testUser, addedQuestion.Id); //// Like First Answer var testAnswerRatingBM1 = GetTestAnswerRatingBMRatingDown(answer1, testUser); var ratedAnswer1 = discussionsService.RateAnswer(testAnswerRatingBM1, testUser); //// Like Secont Answer testAnswerRatingBM1 = GetTestAnswerRatingBMRatingDown(answer2, testUser); var ratedAnswer2 = discussionsService.RateAnswer(testAnswerRatingBM1, testUser); var userLikedAnswers = discussionsService.GetUserDisLikedAnswersIdList(testUser.Id); //Assert Assert.True(userLikedAnswers.Count == 2); Assert.True(userLikedAnswers.Contains(answer1.Id)); Assert.True(userLikedAnswers.Contains(answer2.Id)); }
public void RateAnswer_Must_Return_NULL_If_RatedDown_Twice() { // Arrange var db = StaticMethods.GetDb(); var discussionsService = new DiscussionsService(db, this.mapper); var testUser = StaticMethods.GetTestUser(); var testQBM = GetTestQuestionBM(); //Act db.Users.Add(testUser); db.SaveChanges(); var addedQuestion = discussionsService.AddQuestion(testQBM, testUser); var content = "Test Answer"; var answer = discussionsService.AddAnswer(content, testUser, addedQuestion.Id); var testAnswerRatingBM = GetTestAnswerRatingBMRatingDown(answer, testUser); var ratedAnswer = discussionsService.RateAnswer(testAnswerRatingBM, testUser); var thisMustBeNull = discussionsService.RateAnswer(testAnswerRatingBM, testUser); //Assert Assert.True(thisMustBeNull == null); }
public void IsUserDisLikedAnswer_Must_Return_True_If_User_DisLiked_Given_Answer() { // Arrange var db = StaticMethods.GetDb(); var discussionsService = new DiscussionsService(db, this.mapper); var testUser = StaticMethods.GetTestUser(); var testQBM = GetTestQuestionBM(); var content = "Test Answer"; //Act db.Users.Add(testUser); db.SaveChanges(); var addedQuestion = discussionsService.AddQuestion(testQBM, testUser); var answer = discussionsService.AddAnswer(content, testUser, addedQuestion.Id); var testAnswerRatingBM = GetTestAnswerRatingBMRatingDown(answer, testUser); var ratedAnswer = discussionsService.RateAnswer(testAnswerRatingBM, testUser); var result = discussionsService.IsUserDisLikedAnswer(ratedAnswer.Id, testUser.Id); //Assert Assert.True(result); }
public void RateAnswer_Must_Return_Updated_Answer_RatedDown() { // Arrange var db = StaticMethods.GetDb(); var discussionsService = new DiscussionsService(db, this.mapper); var testUser = StaticMethods.GetTestUser(); var testQBM = GetTestQuestionBM(); //Act db.Users.Add(testUser); db.SaveChanges(); var addedQuestion = discussionsService.AddQuestion(testQBM, testUser); var content = "Test Answer"; var answer = discussionsService.AddAnswer(content, testUser, addedQuestion.Id); var testAnswerRatingBM = GetTestAnswerRatingBMRatingDown(answer, testUser); var ratedAnswer = discussionsService.RateAnswer(testAnswerRatingBM, testUser); //Assert Assert.True(ratedAnswer != null); Assert.True(ratedAnswer.Rating == -1); Assert.True(ratedAnswer.QuestionId == addedQuestion.Id); Assert.True(ratedAnswer.PublisherId == testUser.Id); Assert.True(ratedAnswer.Content == answer.Content); }