public async Task CanEditReview()
        {
            TestTrekStoriesContext tc = new TestTrekStoriesContext();
            var review = new Review
            {
                ReviewId     = 1,
                PrivateNotes = "Test Private",
                StepId       = 1,
                Rating       = 3
            };

            tc.Reviews.Add(review);
            Step step = new Step {
                StepId = 1, Trip = new Trip {
                    TripId = 10, TripOwner = "ABC123"
                }
            };

            tc.Steps.Add(step);

            ReviewController controller = new ReviewController(tc).WithAuthenticatedUser("ABC123");

            // Act
            var updatedReview = new Review
            {
                ReviewId     = 1,
                PrivateNotes = "New notes",
                StepId       = 1,
                Rating       = 4
            };
            var result = await controller.Edit(updatedReview);

            // Assert
            Assert.IsInstanceOfType(result, typeof(RedirectToRouteResult));
        }
        public async Task CannotEditSomebodyElseReview()
        {
            TestTrekStoriesContext tc = new TestTrekStoriesContext();
            var review = new Review
            {
                ReviewId     = 1,
                PrivateNotes = "Test Private",
                StepId       = 1,
                Rating       = 3
            };

            tc.Reviews.Add(review);
            Step step = new Step {
                StepId = 1, Trip = new Trip {
                    TripId = 10, TripOwner = "ABC123"
                }
            };

            tc.Steps.Add(step);

            ReviewController controller = new ReviewController(tc).WithAuthenticatedUser("AnotherUser");

            // Act
            var updatedReview = new Review
            {
                ReviewId     = 1,
                PrivateNotes = "New notes",
                StepId       = 1,
                Rating       = 4
            };
            var result = await controller.Edit(updatedReview) as ViewResult;

            // Assert
            Assert.AreEqual("CustomisedError", result.ViewName);
        }
Example #3
0
        public void Review_Index()
        {
            var ctrl   = new ReviewController("reviews.json");
            var result = ctrl.Index();

            Assert.IsNotNull(result);
        }
        public async Task EditReviewReturnsCorrectDetails()
        {
            TestTrekStoriesContext tc = new TestTrekStoriesContext();

            var expectedReview = new Review
            {
                ReviewId     = 1,
                PrivateNotes = "Test Private",
                StepId       = 1,
                Rating       = 3,
                Images       = new List <Image>()
            };

            tc.Reviews.Add(expectedReview);
            tc.Steps.Add(new Step {
                StepId = 1, From = "A", To = "B", Review = expectedReview
            });

            ReviewController controller = new ReviewController(tc);

            // act
            var result = await controller.Edit(1) as ViewResult;

            var resultData = (Review)result.ViewData.Model;

            // assert
            Assert.AreEqual(expectedReview.Rating, resultData.Rating);
            Assert.AreEqual(expectedReview.PrivateNotes, resultData.PrivateNotes);
        }
Example #5
0
        public void RemoveReviewTest()
        {
            controller = new ReviewController(facade.Object);
            var result = controller.Remove(1);

            Assert.IsInstanceOfType(result, typeof(OkNegotiatedContentResult <string>));
        }
        public async Task CanDeleteImage()
        {
            TestTrekStoriesContext tc = new TestTrekStoriesContext();
            Step step = new Step {
                StepId = 12, Trip = new Trip {
                    TripId = 214, TripOwner = "User1"
                }
            };
            Image image1 = new Image {
                Id = 25, ReviewId = 1, Url = "url1", Review = new Review {
                    ReviewId = 1, Step = step
                }
            };

            tc.Images.Add(image1);
            ReviewController controller = new ReviewController(tc).WithAuthenticatedUser("User1");

            var UrlHelperMock = new Mock <UrlHelper>();

            controller.Url = UrlHelperMock.Object;
            UrlHelperMock.Setup(x => x.Action("Edit", "Review", new { id = "12#AddPhoto" })).Returns("testUrl");

            var result = await controller.DeleteImageAsync(25) as RedirectToRouteResult;

            Assert.IsNull(tc.Images.Find(25));
        }
Example #7
0
        public void GetByRestaurantWithNotFoundResponse()
        {
            facade.Setup(x => x.GetByRestaurantId(It.IsAny <long>())).Returns(new List <Review>());
            controller = new ReviewController(facade.Object);
            var result = controller.GetByRestaurant(0);

            Assert.IsInstanceOfType(result, typeof(NotFoundResult));
        }
Example #8
0
        public void GetByUserWithNotFoundResponse()
        {
            facade.Setup(x => x.GetByUser(It.IsAny <UserRequest>())).Returns(new List <Review>());
            controller = new ReviewController(facade.Object);
            var result = controller.GetByUser(null);

            Assert.IsInstanceOfType(result, typeof(NotFoundResult));
        }
 public void SetUp()
 {
     this.reviewRepository   = new ReviewMockRepository();
     this.reviewerRepository = new ReviewerMockRepository();
     this.reviewService      = new ReviewService(this.reviewRepository, this.reviewerRepository);
     this.reviewerService    = new ReviewerService(this.reviewerRepository);
     this.reviewController   = new ReviewController(this.reviewService, this.reviewerService);
 }
 public MainWindow()
 {
     InitializeComponent();
     booksController   = new BookController();
     reviewsController = new ReviewController();
     myBooks           = new List <Book>();
     LoadBooks();
 }
Example #11
0
        public void ReviewControllerTestDetailsNull()
        {
            ReviewController controller = new ReviewController();

            ActionResult result = controller.Details(100);

            Assert.IsTrue(result is RedirectToRouteResult);
        }
        public ReviewControllerTests()
        {
            _testContext = new RestaurantReportTestContext();
            var container = Bootstrapper.RegisterTypes();
            var mapper    = container.Resolve <IMapper>();

            _controller = new ReviewController(new ReviewService(new ReviewRepository(_testContext), new RestaurantRepository(_testContext)), mapper);
        }
Example #13
0
        public void AddRestaurantReviewTest()
        {
            controller = new ReviewController(facade.Object);
            var result        = controller.Add(null);
            var contentResult = result as OkNegotiatedContentResult <string>;

            Assert.AreEqual(contentResult.Content, "The review has been added for the restaurant. ");;
        }
Example #14
0
        public void ReviewControllerTestUpdateModelBinding()
        {
            ReviewController controller = new ReviewController();

            ViewResult view  = controller.Update(1) as ViewResult;
            var        model = view.Model;

            Assert.IsNotNull(model);
        }
Example #15
0
        public void ReviewControllerTestSearch()
        {
            ReviewController controller = new ReviewController();

            ViewResult view  = controller.List(1, null) as ViewResult;
            var        model = view.Model;

            Assert.IsNotNull(model is RestaurantReviewWebsite.Models.ReviewPageViewModel);
        }
Example #16
0
        public void ReviewControllerTestDetailsData()
        {
            ReviewController controller = new ReviewController();

            ViewResult result = (ViewResult)controller.Details(1);
            var        model  = (RestaurantReviewWebsite.Models.ReviewPageViewModel)result.Model;

            Assert.AreEqual(1, model.Review.ID);
        }
Example #17
0
        public void ReviewControllerTestDeleteModelBinding()
        {
            ReviewController controller = new ReviewController();

            ViewResult view  = (ViewResult)controller.Delete(1);
            var        model = view.Model;

            Assert.IsNotNull(model);
        }
Example #18
0
        public void ReviewModelTextTest()
        {
            ReviewController controller = new ReviewController();

            var detailCheck = controller.Edit(3, 8) as ViewResult;
            var actual      = detailCheck.Model as Review;

            Assert.AreEqual("Its fine", actual.ReviewText);
        }
Example #19
0
        public void EditModelUnitTest()
        {
            ReviewController controller = new ReviewController();

            var editData = controller.Edit(10) as ViewResult;
            var actual   = editData.Model;

            Assert.IsNotNull(actual);
        }
        public void EditDataTest()
        {
            ReviewController controller = new ReviewController();

            var result = controller.Edit(4) as ViewResult;
            var data   = result.Model as Review;

            Assert.AreEqual("Place was alright", data.Comment);
        }
        public void DetailsTest()
        {
            ReviewController controller = new ReviewController();

            var details = controller.Details(1) as ViewResult;
            var actual  = details.Model;

            Assert.IsNotNull(actual);
        }
Example #22
0
        public void DeleteModelUnitTest()
        {
            ReviewController controller = new ReviewController();

            var deleteData = controller.Delete(10) as ViewResult;
            var actual     = deleteData.Model;

            Assert.IsNotNull(actual);
        }
Example #23
0
 public void ReviewControllerTestInit()
 {
     _writerRepository     = Substitute.For <IEntityRepository <Writer> >();
     _restaurantRepository = Substitute.For <IEntityRepository <Restaurant> >();
     _httpContextService   = Substitute.For <IHttpContextService>();
     _reviewController     = new ReviewController(_restaurantRepository,
                                                  _writerRepository,
                                                  _httpContextService);
 }
Example #24
0
        public void ReviewModelScoreTest()
        {
            ReviewController controller = new ReviewController();

            var detailCheck = controller.Edit(3, 6) as ViewResult;
            var actual      = detailCheck.Model as Review;

            Assert.AreEqual(3, actual.ReviewScore);
        }
Example #25
0
        public void DetailsModelUnitTest()
        {
            ReviewController controller = new ReviewController();

            var indexData = controller.Details(10) as ViewResult;
            var actual    = indexData.Model;

            Assert.IsNotNull(actual);
        }
Example #26
0
        public void DetailsModelDataUnitTest()
        {
            ReviewController controller = new ReviewController();

            var result = controller.Details(100) as ViewResult;
            var data   = result.Model as List <Review>;

            Assert.AreEqual("Darcy Vang", data[0].ReviewerName);
        }
        public void DeletTest()
        {
            ReviewController controller = new ReviewController();

            var delete = controller.Delete(4) as ViewResult;
            var actual = delete.Model;

            Assert.IsNotNull(actual);
        }
Example #28
0
        public void EditModelDataUnitTest()
        {
            ReviewController controller = new ReviewController();

            var result = controller.Edit(10) as ViewResult;
            var data   = result.Model as Review;

            Assert.AreEqual("Cristina Reynolds", data.ReviewerName);
        }
Example #29
0
        public void GoodReviewIsNotNullTest()
        {
            ReviewController controller = new ReviewController();

            var detailCheck = controller.Edit(3, 6) as ViewResult;
            var actual      = detailCheck.Model as Review;

            Assert.IsNotNull(actual);
        }
        public void DetailsDataTest()
        {
            ReviewController controller = new ReviewController();

            var result = controller.Details(4) as ViewResult;
            var data   = result.Model as List <Review>;

            Assert.AreEqual("Restaurant was great", data[0].Comment);
        }
        public string Put([FromBody] Trip trip)
        {
            try
            {
                var builder = Builders<Driver>.Filter;
                var filter = builder.Eq(f => f.driverName, trip.driverName)
                    & (builder.Eq(f => f.vehicleNumber, trip.vehicleNumber) | builder.Eq(f => f.contactNumber, trip.contactNumber));

                var driver = driverColl
                    .Find<Driver>(filter)
                    .FirstOrDefaultAsync().Result;

                if (driver == null)
                {
                    //throw new HttpException(500, "Driver not found");
                    return "";
                }

                var existingTrip = Get(trip.tripId);
                if (existingTrip != null)
                {
                    return trip.tripId;
                }

                // create review
                var reviewController = new ReviewController();
                var review = new Review();
                review.tripId = trip.tripId;
                review.reviewerId = trip.reviewerId;
                review.driverId = driver.driverId;
                review.status = ReviewStatus.UNRATED;

                return reviewController.Post(review);
            }
            catch (Exception ex)
            {
                throw new HttpException(500, ex.Message);
            }
        }
        private void FillDriverReviewDetails(Driver driver)
        {
            var reviewController = new ReviewController();
            var reviews = reviewController.Get(driver.driverId, "", ReviewStatus.RATED);
            if (reviews == null || reviews.Count == 0)
            {
                return;
            }

            driver.totalReviews = reviews.Count;
            driver.recommendationScore = reviews.FindAll(review => review.driverRecommendation).Count * 100 / reviews.Count;
            int ratingSum = 0;
            foreach (var review in reviews)
            {
                ratingSum += (review.drivingSpeedRating + review.driverBehaviorRating + review.vehicleConditionRating + 3 * (review.driverRecommendation ? 1 : 0)) * 100 / 12;
            }
            driver.ratingColor = (ratingSum / 30) % 3;

            var unratedReviews = reviewController.Get(driver.driverId, "", ReviewStatus.UNRATED);
            if (unratedReviews != null && unratedReviews.Count > 0)
            {
                driver.lastUnratedTripTime = unratedReviews[0].reviewTime;
            }
        }