Example #1
0
        public IActionResult UserRating([FromBody] AddUserRatingDto req)
        {
            // Check null request
            if (req == null)
            {
                return(BadRequest());
            }

            // Validate the request
            if (!ModelState.IsValidate(req))
            {
                return(new UnprocessableEntityObjectResult(ModelState));
            }

            // Check user exist
            if (_repository.GetUsers()
                .Where(u => u.UserId == req.userId)
                .ToList().Count() == 0)
            {
                return(NotFound());
            }

            // Check movie exist
            if (_repository.GetMovieDetails()
                .Where(m => m.MovieId == req.MovieId)
                .ToList().Count() == 0)
            {
                return(NotFound());
            }

            _repository.Save(req);
            return(Created("", "successful"));
        }
Example #2
0
        public void ServiceD_TestUpdateUserRating()
        {
            AddUserRatingDto = new AddUserRatingDto
            {
                MovieId = 1,
                userId  = Guid.Parse("dffc62b8-3d28-4043-b159-062797a5ad65"),
                Rating  = 4
            };

            var resp = _movieController.UserRating(AddUserRatingDto);

            Assert.IsInstanceOfType(resp, typeof(CreatedResult));

            // BEFORE
            var PreviousData = GetAllRating()
                               .FirstOrDefault(x => x.UserId == AddUserRatingDto.userId &&
                                               x.MovieId == AddUserRatingDto.MovieId);

            Assert.AreEqual(2, PreviousData.MovieRating);

            // AFTER
            var RecentData = _rating
                             .FirstOrDefault(x => x.MovieId == AddUserRatingDto.MovieId &&
                                             x.UserId == AddUserRatingDto.userId);

            Assert.AreEqual(4, RecentData.MovieRating);
        }
Example #3
0
        public void ServiceD_TestAddUserRating()
        {
            AddUserRatingDto = new AddUserRatingDto
            {
                MovieId = 3,
                userId  = Guid.Parse("5d03df01-272b-4b54-b9cc-f4760530643a"),
                Rating  = 5
            };

            var resp = _movieController.UserRating(AddUserRatingDto);

            Assert.IsInstanceOfType(resp, typeof(CreatedResult));

            // BEFORE
            var PreviousData = GetAllRating()
                               .FirstOrDefault(x => x.UserId == AddUserRatingDto.userId &&
                                               x.MovieId == AddUserRatingDto.MovieId);

            Assert.IsNull(PreviousData);

            // AFTER
            var RecentData = _rating
                             .FirstOrDefault(x => x.MovieId == AddUserRatingDto.MovieId &&
                                             x.UserId == AddUserRatingDto.userId);

            Assert.AreEqual(5, RecentData.MovieRating);
        }
Example #4
0
        // Add or update user rating
        public bool SaveData(AddUserRatingDto rating)
        {
            _rating = GetAllRating();
            var record = _rating.Where(r => r.UserId == rating.userId && r.MovieId == rating.MovieId)
                         .ToList();

            if (record.Count() == 1)
            {
                _rating.Remove(record.FirstOrDefault());
            }

            _rating.Add(new Rating
            {
                Id          = (record.Count() == 0) ? 21 : record.FirstOrDefault().Id,
                MovieId     = rating.MovieId,
                UserId      = rating.userId,
                MovieRating = rating.Rating
            });
            return(true);
        }