Exemplo n.º 1
0
        public void Good_Post_Create()
        {
            // Arrange
            var pizzaViewModel = new PizzaViewModel()
            {
                Name           = "Margarita",
                PriceForLarge  = 30.00M,
                PriceForMedium = 20.00M,
                PriceForSmall  = 15.00M,
                Components     = new List <int>()
                {
                    1
                }
            };
            var validator  = new ModelValidator <PizzaViewModel>(pizzaViewModel);
            var service    = Substitute.For <IPizzaService>();
            var controller = new PizzaController(service);

            service.CreatePizza(pizzaViewModel);
            service.SavePizza();

            // Act
            var valid = validator.IsValid();

            validator.AddToModelError(controller);
            var result         = controller.Create(pizzaViewModel) as RedirectToRouteResult;
            var actionName     = result.RouteValues.Values.ElementAt(0);
            var controllerName = result.RouteValues.Values.ElementAt(1);

            // Assert
            Assert.That(result, !Is.Null);
            Assert.That("Index", Is.EqualTo(actionName));
            Assert.That("Pizza", Is.EqualTo(controllerName));
            Assert.That(valid, Is.True);
        }
Exemplo n.º 2
0
        public void Post_Create_Model_Not_Valid()
        {
            // Arrange
            var pizzaViewModel = new PizzaViewModel()
            {
                Name           = "Margarita",
                PriceForLarge  = 30.0000M, // max. 3 chars after ','
                PriceForMedium = 20.00M,
                //PriceForSmall = 15.00M,
                Components = new List <int>()
                {
                    1
                }
            };
            var service    = Substitute.For <IPizzaService>();
            var controller = new PizzaController(service);
            var validator  = new ModelValidator <PizzaViewModel>(pizzaViewModel);

            // Act
            var valid = validator.IsValid();

            validator.AddToModelError(controller);
            var result     = controller.Create(pizzaViewModel) as RedirectToRouteResult;
            var actionName = result.RouteValues.Values.ElementAt(0);
            var tempData   = controller.TempData["ModelIsNotValid"];

            // Assert
            Assert.That(valid, Is.False);
            Assert.That("Wystąpił błąd w formularzu, spróbuj ponownie.", Is.EqualTo(tempData));
            Assert.That(result, !Is.Null);
            Assert.That("Index", Is.EqualTo(actionName));
        }
        public void CreatePizza_Should_Return_Ok()
        {
            //Arrange
            var request  = PizzaBuilder.CreatePizzaRequest();
            var response = new CreatePizzaResponse();

            //Act
            response.SetSucess(true);
            _mock.Setup(x => x.Create(request)).Returns(response);
            var result = _controller.Create(request) as OkResult;

            //Assert
            _mock.Verify(x => x.Create(It.IsAny <CreatePizzaRequest>()), Times.Once);
            result.Should().NotBeNull("Return is null");
            result.Should().BeOfType <OkResult>("Return type is not valid.");
            result.StatusCode.Should().Be(200, $"Status Code {result.StatusCode}");
        }