Exemplo n.º 1
0
        public void AddNewReviewValid_ExpectOne()
        {
            Review review = new Review();

            review.GameId      = 3234;
            review.RatingValue = 3;
            review.ReviewInfo  = "New Review";
            review.AccountId   = "5081af63-b8dc-46ee-a9be-d7e18c98051c";

            int result = _controller.Add(review);

            Assert.Equal(1, result);
        }
        public void Post_ShouldRedirectToCompanyDetailsWhenCompanyOwnerTryToAddReviewToHisCompany()
        {
            //Arrange
            var controller = new ReviewsController(this.fixture.UserManagerMockInstance.Object, null, this.companyService.Object);

            this.companyService.Setup(c => c.Exists(It.IsAny <string>()))
            .Returns(true);

            this.PrepareTempData();

            controller.TempData = this.tempData.Object;

            //Act
            var form   = this.GetOwnerFilledReviewForm();
            var result = controller.Add(form);

            //Assert
            result.Should().BeOfType <RedirectToActionResult>();
            var model = result.As <RedirectToActionResult>();

            model.ActionName.Should().Be(WebConstants.Action.Details);
            model.ControllerName.Should().Be(WebConstants.Controller.Companies);
            model.RouteValues.Keys.Should().Contain(RouteValueKeyId);
            model.RouteValues.Values.Should().Contain(form.CompanyId);
            this.customMessage.Should().Be(WebConstants.Message.OwnerAddReview);
        }
        public void Post_ShouldRedirectToCompanyDetailsAndCreateReviewWithValidData()
        {
            //Arrange
            var controller = new ReviewsController(this.fixture.UserManagerMockInstance.Object, this.reviewService.Object, this.companyService.Object);

            this.reviewService.Setup(r => r.Add(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()))
            .Returns(true);

            this.companyService.Setup(c => c.Exists(It.IsAny <string>()))
            .Returns(true);

            this.PrepareTempData();

            controller.TempData = this.tempData.Object;

            //Act
            var form   = this.GetReviewForm();
            var result = controller.Add(form);

            //Assert
            result.Should().BeOfType <RedirectToActionResult>();
            var model = result.As <RedirectToActionResult>();

            model.ActionName.Should().Be(WebConstants.Action.Details);
            model.ControllerName.Should().Be(WebConstants.Controller.Companies);
            model.RouteValues.Keys.Should().Contain(RouteValueKeyId);
            model.RouteValues.Values.Should().Contain(form.CompanyId);
            this.customMessage.Should().Be(string.Format(WebConstants.Message.EntityCreated, WebConstants.Entity.Review));
        }
        public void Post_ShouldReturnViewForInvalidModelState()
        {
            //Arrange
            var controller = new ReviewsController(null, null, null);

            controller.ModelState.AddModelError(string.Empty, "Error");

            //Act
            var result = controller.Add(new ReviewFormModel());

            //Assert
            result.Should().BeOfType <ViewResult>();
            var model = result.As <ViewResult>().Model;

            model.Should().BeOfType <ReviewFormModel>();
        }
        public void Add()
        {
            // Arrange
            ReviewsController controller = new ReviewsController();

            // Act
            string     sRestName   = "Arbys";
            string     sAddress    = "5678 Willow Ave. Tampa Florida 33601";
            decimal    dRating     = 4.67m;
            string     sRevSummary = "I cannot get enough of those curly fries! I love them!";
            int        iFK_Rid     = 1;
            ViewResult result      = controller.Add(sRestName, sAddress, dRating, sRevSummary, iFK_Rid) as ViewResult;

            // Assert
            Assert.IsNotNull(result);
        }
        public void Post_ShouldRedirectToHomeWhenCompanyDoesNotExist()
        {
            //Arrange
            var controller = new ReviewsController(this.fixture.UserManagerMockInstance.Object, null, this.companyService.Object);

            this.companyService.Setup(c => c.Exists(It.IsAny <string>()))
            .Returns(false);

            this.PrepareTempData();

            controller.TempData = this.tempData.Object;

            //Act
            var form   = this.GetReviewForm();
            var result = controller.Add(form);

            //Assert
            this.AssertRedirectToHome(result);
            this.customMessage.Should().Be(WebConstants.Message.InvalidCompany);
        }