Пример #1
0
        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));
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }