public void Add_All_Empty()
        {
            ReviewModelDTO newReview = new ReviewModelDTO()
            {
                Reviewer = new ReviewerModelDTO()
                {
                    Name = string.Empty
                },
                Restaurant = new RestaurantModelDTO()
                {
                    Id = 1
                },
                ReviewedDateTime = DateTime.Now,
                Rating           = 1,
                ReviewText       = string.Empty
            };
            ReviewAPIRequestDTO request = new ReviewAPIRequestDTO()
            {
                Header = new APIRequestHeaderDTO()
                {
                    RequestID = 1
                },
                Data = newReview
            };
            APIResponseDTO response = this.reviewController.Post(request);

            Assert.AreNotEqual <ErrorDTO>(response.Error, null);
            Assert.AreEqual <APIBaseDTO>(response.Data, null);
        }
        public void Add_Date_Tomorrow()
        {
            ReviewModelDTO newReview = new ReviewModelDTO()
            {
                Reviewer = new ReviewerModelDTO()
                {
                    Id   = 4,
                    Name = "Reviewer 4"
                },
                Restaurant = new RestaurantModelDTO()
                {
                    Id = 4
                },
                ReviewedDateTime = DateTime.Now.AddDays(1),
                Rating           = 3,
                ReviewText       = "This is sample review text by Reviewer 4 for Restaurant 4. This is sample review text by Reviewer 4 for Restaurant 4. This is sample review text by Reviewer 4 for Restaurant 4. This is sample review text by Reviewer 4 for Restaurant 4. This is sample review text by Reviewer 4 for Restaurant 4."
            };
            ReviewAPIRequestDTO request = new ReviewAPIRequestDTO()
            {
                Header = new APIRequestHeaderDTO()
                {
                    RequestID = 1
                },
                Data = newReview
            };
            APIResponseDTO response = this.reviewController.Post(request);

            Assert.AreNotEqual <ErrorDTO>(response.Error, null);
            Assert.AreEqual <APIBaseDTO>(response.Data, null);
        }
        public void Add_Reviewer_Not_Exist_Name_Empty()
        {
            ReviewModelDTO newReview = new ReviewModelDTO()
            {
                Reviewer   = null,
                Restaurant = new RestaurantModelDTO()
                {
                    Name = string.Empty
                },
                ReviewedDateTime = DateTime.Now,
                Rating           = 1,
                ReviewText       = "This is sample review text by Reviewer 4 for Restaurant 4. This is sample review text by Reviewer 4 for Restaurant 4. This is sample review text by Reviewer 4 for Restaurant 4. This is sample review text by Reviewer 4 for Restaurant 4. This is sample review text by Reviewer 4 for Restaurant 4."
            };
            ReviewAPIRequestDTO request = new ReviewAPIRequestDTO()
            {
                Header = new APIRequestHeaderDTO()
                {
                    RequestID = 1
                },
                Data = newReview
            };
            APIResponseDTO response = this.reviewController.Post(request);

            Assert.AreNotEqual <ErrorDTO>(response.Error, null);
            Assert.AreEqual <APIBaseDTO>(response.Data, null);
        }
Example #4
0
        public ReviewModelDTO SubmitReview(

            int movieId,

            ReviewModelDTO review
            )
        {
            try
            {
                using (IMovieDataSource _ds = new MovieDataSource(new MovieDbContext()))
                {
                    ReviewModelDTO currentReview = review;
                    MovieModel     movie         = _ds.GetMovies().Single(m => m.Id == movieId);
                    ReviewModel    rev           = new ReviewModel()
                    {
                        Rating = currentReview.Rating, ReviewText = currentReview.ReviewText, Reviewer = currentReview.Reviewer, Summary = currentReview.Summary, Movie = movie
                    };
                    movie.Reviews.Add(rev);
                    _ds.Save();
                    return(currentReview);
                }
            }
            catch (Exception e)
            {
                throw new FaultException(e.Source + Environment.NewLine + e.Message);
            }
        }
        public void Get_By_Id_Negative()
        {
            APIResponseDTO response = this.reviewController.Get(int.MinValue);
            ReviewModelDTO review   = (ReviewModelDTO)response.Data;

            Assert.AreEqual <ReviewModelDTO>(review, null);
        }
Example #6
0
        public void Get_By_Id()
        {
            ReviewModelDTO review = this.reviewService.GetReviewById(1);

            Assert.AreNotEqual <ReviewModelDTO>(review, null);
            Assert.AreEqual <int>(review.Id, 1);
        }
        public void Get_By_Id()
        {
            APIResponseDTO response = this.reviewController.Get(1);
            ReviewModelDTO review   = (ReviewModelDTO)response.Data;

            Assert.AreNotEqual <ReviewModelDTO>(review, null);
            Assert.AreEqual <int>(review.Id, 1);
        }
Example #8
0
        public ReviewModelDTO AddReview(ReviewModelDTO newReview)
        {
            ReviewModelDTO lastReview = GetReviews().ReviewList.Last();

            newReview.Id = lastReview.Id + 1;
            reviews.ReviewList.Add(newReview);
            return(newReview);
        }
Example #9
0
        public ReviewModelDTO DeleteReview(int id)
        {
            ReviewModelDTO review = GetReviewById(id);

            if (review == null)
            {
                throw new Exception("Review Id #" + id.ToString() + " does not exists");
            }
            reviews.ReviewList.Remove(review);
            return(review);
        }
 public APIResponseDTO Get(int id)
 {
     try
     {
         ReviewModelDTO review = this.reviewService.GetReviewById(id);
         return(GetDataDTO(review));
     }
     catch (Exception ex)
     {
         return(GetErrorDTO(ex));
     }
 }
 public static TblReview Create(ReviewModelDTO review)
 {
     return(new TblReview()
     {
         Id = review.Id,
         Reviewer = Create(review.Reviewer),
         Restaurant = Create(review.Restaurant),
         ReviewDateTime = review.ReviewedDateTime,
         Rating = review.Rating,
         ReviewText = review.ReviewText
     });
 }
Example #12
0
 public void Add_All_Null()
 {
     ReviewModelDTO newReview = new ReviewModelDTO()
     {
         Reviewer         = null,
         Restaurant       = null,
         ReviewedDateTime = DateTime.Now,
         Rating           = 1,
         ReviewText       = null
     };
     ReviewModelDTO newReviewRet = this.reviewService.AddReview(newReview);
 }
 public APIResponseDTO Delete(int id)
 {
     try
     {
         ReviewModelDTO review = this.reviewService.DeleteReview(id);;
         return(GetDataDTO(review));
     }
     catch (Exception ex)
     {
         return(GetErrorDTO(ex));
     }
 }
 public APIResponseDTO Post([FromBody] ReviewAPIRequestDTO request)
 {
     try
     {
         ReviewModelDTO newReview = request.Data;
         newReview = this.reviewService.AddReview(newReview);
         return(GetDataDTO(newReview));
     }
     catch (Exception ex)
     {
         return(GetErrorDTO(ex));
     }
 }
Example #15
0
        public ReviewModelDTO AddReview(ReviewModelDTO newReview)
        {
            ValidateModel(newReview);

            ReviewerService reviewerService = new ReviewerService(this.reviewerRepository);

            if (!reviewerService.CheckReviewerExists(newReview.Reviewer))
            {
                newReview.Reviewer = reviewerService.AddReviewer(newReview.Reviewer);
            }

            return(this.reviewRepository.AddReview(newReview));
        }
Example #16
0
        public ReviewModelDTO AddReview(ReviewModelDTO newReview)
        {
            ReviewModelDTO ret = null;

            using (var db = new RestaurantReviewsContext())
            {
                TblReview review = ModelFactory.Create(newReview);
                db.TblReview.Add(review);
                db.SaveChanges();
                ret = ModelFactory.Create(review);
            }

            return(ret);
        }
        public void Add()
        {
            ReviewModelDTO newReview = new ReviewModelDTO()
            {
                Reviewer = new ReviewerModelDTO()
                {
                    Id   = 4,
                    Name = "Reviewer 4"
                },
                Restaurant = new RestaurantModelDTO()
                {
                    Id = 4
                },
                ReviewedDateTime = DateTime.Now,
                Rating           = 3,
                ReviewText       = "This is sample review text by Reviewer 4 for Restaurant 4. This is sample review text by Reviewer 4 for Restaurant 4. This is sample review text by Reviewer 4 for Restaurant 4. This is sample review text by Reviewer 4 for Restaurant 4. This is sample review text by Reviewer 4 for Restaurant 4."
            };
            ReviewAPIRequestDTO request = new ReviewAPIRequestDTO()
            {
                Header = new APIRequestHeaderDTO()
                {
                    RequestID = 1
                },
                Data = newReview
            };
            APIResponseDTO response = this.reviewController.Post(request);

            Assert.AreEqual <ErrorDTO>(response.Error, null);
            Assert.AreNotEqual <APIBaseDTO>(response.Data, null);
            ReviewModelDTO newReviewRet = (ReviewModelDTO)response.Data;

            Assert.AreNotEqual <ReviewModelDTO>(newReviewRet, null);
            Assert.AreEqual <string>(newReviewRet.Reviewer.Name, "Reviewer 4");
            Assert.AreEqual <int>(newReviewRet.Restaurant.Id, 4);
            Assert.AreEqual <int>(newReviewRet.Rating, 3);

            Assert.AreEqual <int>(newReview.Id, newReviewRet.Id);
            Assert.AreEqual <string>(newReview.Reviewer.Name, newReviewRet.Reviewer.Name);
            Assert.AreEqual <int>(newReview.Restaurant.Id, newReviewRet.Restaurant.Id);
            Assert.AreEqual <int>(newReview.Rating, newReviewRet.Rating);

            response = this.reviewController.Get(newReviewRet.Id);
            ReviewModelDTO review = (ReviewModelDTO)response.Data;

            Assert.AreNotEqual <ReviewModelDTO>(review, null);
            Assert.AreEqual <int>(review.Id, newReviewRet.Id);
            Assert.AreEqual <string>(review.Reviewer.Name, newReviewRet.Reviewer.Name);
            Assert.AreEqual <int>(review.Restaurant.Id, newReviewRet.Restaurant.Id);
            Assert.AreEqual <int>(review.Rating, newReviewRet.Rating);
        }
Example #18
0
        public ReviewModelDTO GetReviewById(int id)
        {
            ReviewModelDTO ret = null;

            using (var db = new RestaurantReviewsContext())
            {
                var review = db.TblReview.Find(id);
                if (review != null)
                {
                    ret = ModelFactory.Create(review);
                }
            }

            return(ret);
        }
Example #19
0
 public void Add_All_Reviewer_Null()
 {
     ReviewModelDTO newReview = new ReviewModelDTO()
     {
         Reviewer   = null,
         Restaurant = new RestaurantModelDTO()
         {
             Id = 4
         },
         ReviewedDateTime = DateTime.Now,
         Rating           = 1,
         ReviewText       = "This is sample review text by Reviewer 5 for Restaurant 4. This is sample review text by Reviewer 5 for Restaurant 4. This is sample review text by Reviewer 5 for Restaurant 4. This is sample review text by Reviewer 5 for Restaurant 4."
     };
     ReviewModelDTO newReviewRet = this.reviewService.AddReview(newReview);
 }
Example #20
0
        public ReviewModelDTO DeleteReview(int id)
        {
            ReviewModelDTO ret = null;

            using (var db = new RestaurantReviewsContext())
            {
                TblReview review = db.TblReview.Find(id);
                if (review != null)
                {
                    db.TblReview.Remove(review);
                    db.SaveChanges();
                    ret = ModelFactory.Create(review);
                }
            }

            return(ret);
        }
Example #21
0
 public void Add_All_Empty()
 {
     ReviewModelDTO newReview = new ReviewModelDTO()
     {
         Reviewer = new ReviewerModelDTO()
         {
             Name = string.Empty
         },
         Restaurant = new RestaurantModelDTO()
         {
             Id = 1
         },
         ReviewedDateTime = DateTime.Now,
         Rating           = 1,
         ReviewText       = string.Empty
     };
     ReviewModelDTO newReviewRet = this.reviewService.AddReview(newReview);
 }
Example #22
0
        public async Task CanAddNewReivew()
        {
            // arrange
            await SetToken();

            var book = await Repository.GetBook();

            var model = new ReviewModelDTO()
            {
                Rating = 4, BookName = book.Name, Text = "Great Book"
            };

            // act
            var response = await Client.PostAsync($"/reviews/add?TenantKey={Constants.TENANT_KEY}", ContentHelper.GetStringContent(model));

            // assert
            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
        }
Example #23
0
        public async Task <IActionResult> AddReview([FromBody] ReviewModelDTO review)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var book = await _repository.GetByIdAsync <Book>(r => r.Name == review.BookName);

            if (book == null)
            {
                return(BadRequest($"Can't find book {review.BookName}"));
            }

            var addedReview = await _repository.AddAsync <Review>(ReviewModelDTO.FromReviewDTO(review));

            return(Ok(ReviewModelDTO.FromReview(addedReview)));
        }
Example #24
0
 public void Add_Reviewer_Not_Exist_Name_Empty()
 {
     ReviewModelDTO newReview = new ReviewModelDTO()
     {
         Reviewer = new ReviewerModelDTO()
         {
             Name = string.Empty
         },
         Restaurant = new RestaurantModelDTO()
         {
             Id = 4
         },
         ReviewedDateTime = DateTime.Now,
         Rating           = 3,
         ReviewText       = "This is sample review text by Reviewer 5 for Restaurant 4. This is sample review text by Reviewer 5 for Restaurant 4. This is sample review text by Reviewer 5 for Restaurant 4. This is sample review text by Reviewer 5 for Restaurant 4."
     };
     ReviewModelDTO newReviewRet = this.reviewService.AddReview(newReview);
 }
Example #25
0
 public void Add_All_ReviwerText_Null()
 {
     ReviewModelDTO newReview = new ReviewModelDTO()
     {
         Reviewer = new ReviewerModelDTO()
         {
             Id   = 5,
             Name = "Reviewer 5"
         },
         Restaurant = new RestaurantModelDTO()
         {
             Id = 4
         },
         ReviewedDateTime = DateTime.Now,
         Rating           = 1,
         ReviewText       = null
     };
     ReviewModelDTO newReviewRet = this.reviewService.AddReview(newReview);
 }
Example #26
0
 public void Add_Date_Tomorrow()
 {
     ReviewModelDTO newReview = new ReviewModelDTO()
     {
         Reviewer = new ReviewerModelDTO()
         {
             Id   = 4,
             Name = "Reviewer 4"
         },
         Restaurant = new RestaurantModelDTO()
         {
             Id = 4
         },
         ReviewedDateTime = DateTime.Now.AddDays(1),
         Rating           = 3,
         ReviewText       = "This is sample review text by Reviewer 4 for Restaurant 4. This is sample review text by Reviewer 4 for Restaurant 4. This is sample review text by Reviewer 4 for Restaurant 4. This is sample review text by Reviewer 4 for Restaurant 4. This is sample review text by Reviewer 4 for Restaurant 4."
     };
     ReviewModelDTO newReviewRet = this.reviewService.AddReview(newReview);
 }
Example #27
0
        public void Add()
        {
            ReviewModelDTO newReview = new ReviewModelDTO()
            {
                Reviewer = new ReviewerModelDTO()
                {
                    Id   = 4,
                    Name = "Reviewer 4"
                },
                Restaurant = new RestaurantModelDTO()
                {
                    Id = 4
                },
                ReviewedDateTime = DateTime.Now,
                Rating           = 3,
                ReviewText       = "This is sample review text by Reviewer 4 for Restaurant 4. This is sample review text by Reviewer 4 for Restaurant 4. This is sample review text by Reviewer 4 for Restaurant 4. This is sample review text by Reviewer 4 for Restaurant 4. This is sample review text by Reviewer 4 for Restaurant 4."
            };
            ReviewModelDTO newReviewRet = this.reviewService.AddReview(newReview);

            Assert.AreNotEqual <ReviewModelDTO>(newReviewRet, null);
            Assert.AreEqual <string>(newReviewRet.Reviewer.Name, "Reviewer 4");
            Assert.AreEqual <int>(newReviewRet.Restaurant.Id, 4);
            Assert.AreEqual <int>(newReviewRet.Rating, 3);

            Assert.AreEqual <int>(newReview.Id, newReviewRet.Id);
            Assert.AreEqual <string>(newReview.Reviewer.Name, newReviewRet.Reviewer.Name);
            Assert.AreEqual <int>(newReview.Restaurant.Id, newReviewRet.Restaurant.Id);
            Assert.AreEqual <int>(newReview.Rating, newReviewRet.Rating);

            ReviewModelDTO review = this.reviewService.GetReviewById(newReviewRet.Id);

            Assert.AreNotEqual <ReviewModelDTO>(review, null);
            Assert.AreEqual <int>(review.Id, newReviewRet.Id);
            Assert.AreEqual <string>(review.Reviewer.Name, newReviewRet.Reviewer.Name);
            Assert.AreEqual <int>(review.Restaurant.Id, newReviewRet.Restaurant.Id);
            Assert.AreEqual <int>(review.Rating, newReviewRet.Rating);
        }
Example #28
0
 public ReviewModelDTO AddReview(ReviewModelDTO newReview)
 {
     return(this.reviewRepository.AddReview(newReview));
 }
Example #29
0
        public void Get_By_Id_NotExistent()
        {
            ReviewModelDTO review = this.reviewService.GetReviewById(int.MaxValue);

            Assert.AreEqual <ReviewModelDTO>(review, null);
        }
Example #30
0
 public void Get_By_Id_Negative()
 {
     ReviewModelDTO review = this.reviewService.GetReviewById(int.MinValue);
 }