Exemple #1
0
        public void ReturnRating_OnCallToAddRating()
        {
            var newRating = new Rating
            {
                Description = "Test",
                Code        = "Test"
            };

            var result = new Rating
            {
                UserId = newRating.UserId
            };

            var userHelper       = A.Fake <IUserHelper>();
            var ratingRepository = A.Fake <IRatingRepository>();

            A.CallTo(() => ratingRepository.GetRating(A <int> .Ignored)).Returns(result);

            var validator  = new RatingValidator();
            var controller = new RatingsController(ratingRepository, null, userHelper, validator);

            var response = controller.AddRating(newRating);

            A.CallTo(() => ratingRepository.Add(newRating)).MustHaveHappened();
            Assert.AreEqual(result.UserId, response.Value.UserId);
        }
Exemple #2
0
        public void ReturnBadRequest_WhenRatingDoesNotExist_OnCallToUpdateRating()
        {
            var updatedRating = new Rating
            {
                Id          = 1,
                UserId      = 1,
                Description = "Test",
                Code        = "Test"
            };

            var userHelper = A.Fake <IUserHelper>();

            A.CallTo(() => userHelper.MatchingUsers(A <HttpContext> .Ignored, updatedRating.UserId)).Returns(true);

            var ratingRepository = A.Fake <IRatingRepository>();

            A.CallTo(() => ratingRepository.RatingExists(updatedRating.Id)).Returns(false);

            var validator = new RatingValidator();

            var controller = new RatingsController(ratingRepository, null, userHelper, validator);

            var response = controller.UpdateRating(updatedRating);

            Assert.AreEqual((int)HttpStatusCode.BadRequest, ((BadRequestObjectResult)response.Result).StatusCode);
            Assert.AreEqual($"Rating with Id {updatedRating.Id} does not exist.", ((BadRequestObjectResult)response.Result).Value);
        }
Exemple #3
0
        public void ReturnRating_WhenValidUser_CallsUpdateRating()
        {
            var updatedRating = new Rating
            {
                Id          = 1,
                UserId      = 1,
                Description = "Test",
                Code        = "Test"
            };

            var result = new Rating
            {
                Id = updatedRating.Id
            };

            var userHelper = A.Fake <IUserHelper>();

            A.CallTo(() => userHelper.MatchingUsers(A <HttpContext> .Ignored, updatedRating.UserId)).Returns(true);

            var ratingRepository = A.Fake <IRatingRepository>();

            A.CallTo(() => ratingRepository.RatingExists(updatedRating.Id)).Returns(true);
            A.CallTo(() => ratingRepository.GetRating(updatedRating.Id)).Returns(result);

            var validator = new RatingValidator();

            var controller = new RatingsController(ratingRepository, null, userHelper, validator);

            var response = controller.UpdateRating(updatedRating);

            A.CallTo(() => ratingRepository.Update(updatedRating)).MustHaveHappened();
            Assert.AreEqual(result.Id, response.Value.Id);
        }
Exemple #4
0
        public ValidationResult ValidateResource(EditRatingDTO editRatingDTO)
        {
            var result = new ValidationResult();

            if (editRatingDTO != null)
            {
                var validator = new RatingValidator();
                var vr        = validator.Validate(editRatingDTO);
                if (vr.IsValid)
                {
                    result.IsValid = true;
                    return(result);
                }

                if (vr.Errors.Any())
                {
                    foreach (var error in vr.Errors)
                    {
                        result.ErrorMessages.Add(error.PropertyName, error.ErrorMessage);
                    }
                }
            }

            return(result);
        }
 public Rating AddRating(int artistId, int fanId, int score)
 {
     using (var unitOfWork = new UnitOfWork())
     {
         RatingValidator ratingValidator = new RatingValidator();
         var             checkResult     = ratingValidator.Check(score);
         if (checkResult.Count != 0)
         {
             throw new InvalidModelException(String.Join("\n", checkResult.ToArray()));
         }
         var    ratingRepository = unitOfWork.GetRepository <Rating>();
         Rating foundRating      = ratingRepository.GetAll().Where(r => r.ArtistId == artistId && r.FanId == fanId).FirstOrDefault();
         Rating newRating        = null;
         if (foundRating != null)
         {
             foundRating.Score = score;
             foundRating.Date  = DateTime.Now;
             ratingRepository.Update(foundRating);
             newRating = foundRating;
             FileOperations.SaveRatingDataToFile();
         }
         else if (foundRating == null)
         {
             newRating = ratingRepository.Add(new Rating {
                 ArtistId = artistId, FanId = fanId, Score = score, Date = DateTime.Now
             });
             FileOperations.AppendNewRatingLineToFile(fanId, artistId, score);
         }
         unitOfWork.Save();
         return(newRating);
     }
 }
Exemple #6
0
        public void ValidateRatingTest()
        {
            _ratingValidator = new RatingValidator();

            Assert.AreEqual(_ratingValidator.Validate(_hotels[0]).Stars, "4");
            Assert.AreEqual(_ratingValidator.Validate(_hotels[1]).Stars, "Invalid Rating");
            Assert.AreEqual(_ratingValidator.Validate(_hotels[2]).Stars, "Invalid Rating");
        }
Exemple #7
0
        private bool ValidateQualifyClient()
        {
            RatingValidator           ratingValidator      = new RatingValidator();
            ValidationResult          dataValidationResult = ratingValidator.Validate(rating);
            IList <ValidationFailure> validationFailures   = dataValidationResult.Errors;
            UserFeedback userFeedback = new UserFeedback(FormGrid, validationFailures);

            userFeedback.ShowFeedback();
            return(dataValidationResult.IsValid);
        }
Exemple #8
0
        private async Task <IOperationResult <Rating> > ValidateRating(Rating rating)
        {
            var validator = new RatingValidator();

            ValidationResult validationResult = await validator.ValidateAsync(rating);

            if (!validationResult.IsValid)
            {
                return(BasicOperationResult <Rating> .Fail(validationResult.JSONFormatErrors()));
            }

            return(BasicOperationResult <Rating> .Ok());
        }
Exemple #9
0
        public void ReturnUnauthorized_WhenInvalidUser_CallsUpdateRating()
        {
            var updatedRating = new Rating
            {
                Id          = 1,
                UserId      = 1,
                Description = "Test",
                Code        = "Test"
            };

            var userHelper = A.Fake <IUserHelper>();

            A.CallTo(() => userHelper.MatchingUsers(A <HttpContext> .Ignored, updatedRating.UserId)).Returns(false);

            var validator = new RatingValidator();

            var controller = new RatingsController(null, null, userHelper, validator);

            var response = controller.UpdateRating(updatedRating);

            Assert.AreEqual((int)HttpStatusCode.Unauthorized, ((UnauthorizedResult)response.Result).StatusCode);
        }
Exemple #10
0
 public void Setup()
 {
     _validator = new RatingValidator();
 }
Exemple #11
0
        /// <summary>
        /// Method to validate model
        /// </summary>
        /// <returns>Returns the result of validation</returns>
        protected override FluentValidation.Results.ValidationResult Validate()
        {
            var validator = new RatingValidator();

            return(validator.Validate(this));
        }