Example #1
0
        public void ListFlavorsServiceShouldReturnOkIfServiceListReturnsData()
        {
            // Arrange
            var mock = new Mock <IPizzaFlavorService>();

            mock.Setup <IEnumerable <PizzaFlavorViewModel> >(_ => _.List())
            .Returns(Builder <PizzaFlavorViewModel> .CreateListOfSize(100).Build());
            Service    = mock.Object;
            Controller = new PizzaFlavorsController(Service);
            Controller.Configuration = new HttpConfiguration();
            Controller.Request       = new HttpRequestMessage();

            // Act
            var result = Controller.List();

            // Assert
            Assert.AreEqual(HttpStatusCode.OK, result.StatusCode);
        }
Example #2
0
        public void AddFlavorShouldReturnUnprocessableEntityIfModelStateIsInvalid()
        {
            // Arrange
            var mock = new Mock <IPizzaFlavorService>();

            Service    = mock.Object;
            Controller = new PizzaFlavorsController(Service);
            Controller.Configuration = new HttpConfiguration();
            Controller.Request       = new HttpRequestMessage();
            Controller.ModelState.AddModelError("", "");
            var mockAddModel = Builder <PizzaFlavorAddModel> .CreateNew().Build();

            // Act
            var result = Controller.Add(mockAddModel);

            // Assert
            Assert.AreEqual(422, (int)result.StatusCode);
        }
Example #3
0
        public void AddFlavorShouldReturnInternalServerErrorIfServiceAddReturnsFalse()
        {
            // Arrange
            var mock = new Mock <IPizzaFlavorService>();

            mock.Setup <bool>(_ => _.Add(It.IsAny <PizzaFlavorAddModel>()))
            .Returns(false);
            Service    = mock.Object;
            Controller = new PizzaFlavorsController(Service);
            Controller.Configuration = new HttpConfiguration();
            Controller.Request       = new HttpRequestMessage();
            var mockAddModel = Builder <PizzaFlavorAddModel> .CreateNew().Build();

            // Act
            var result = Controller.Add(mockAddModel);

            // Assert
            Assert.AreEqual(HttpStatusCode.InternalServerError, result.StatusCode);
        }
Example #4
0
        public void DeleteFlavorShouldReturnNotFoundIfServiceReturnsFalse()
        {
            // Arrange
            var mock   = new Mock <IPizzaFlavorService>();
            var mockId = Guid.NewGuid();

            mock.Setup <bool>(_ => _.Delete(mockId))
            .Returns(false);
            Service    = mock.Object;
            Controller = new PizzaFlavorsController(Service);
            Controller.Configuration = new HttpConfiguration();
            Controller.Request       = new HttpRequestMessage();

            // Act
            var result = Controller.Delete(mockId);

            // Assert
            Assert.AreEqual(HttpStatusCode.NotFound, result.StatusCode);
        }
Example #5
0
        public void GetFlavorByIdShouldReturnNotFoundIfServiceReturnsNull()
        {
            // Arrange
            var mock   = new Mock <IPizzaFlavorService>();
            var mockId = Guid.NewGuid();

            mock.Setup <PizzaFlavorViewModel>(_ => _.Get(mockId))
            .Returns <PizzaFlavorViewModel>(null);
            Service    = mock.Object;
            Controller = new PizzaFlavorsController(Service);
            Controller.Configuration = new HttpConfiguration();
            Controller.Request       = new HttpRequestMessage();

            // Act
            var result = Controller.Get(mockId);

            // Assert
            Assert.AreEqual(HttpStatusCode.NotFound, result.StatusCode);
        }
Example #6
0
        public void ListFlavorsShouldReturnTheSameDataIfServiceListReturnsData()
        {
            // Arrange
            var mock        = new Mock <IPizzaFlavorService>();
            var mockContent = Builder <PizzaFlavorViewModel> .CreateListOfSize(100).Build();

            mock.Setup <IEnumerable <PizzaFlavorViewModel> >(_ => _.List())
            .Returns(mockContent);
            Service    = mock.Object;
            Controller = new PizzaFlavorsController(Service);
            Controller.Configuration = new HttpConfiguration();
            Controller.Request       = new HttpRequestMessage();

            // Act
            var result = Controller.List();
            IEnumerable <PizzaFlavorViewModel> content;

            result.TryGetContentValue <IEnumerable <PizzaFlavorViewModel> >(out content);

            // Assert
            Assert.AreEqual(mockContent, content);
        }
Example #7
0
        public void GetFlavorByIdShouldReturnOkAndTheSameViewModelIfServiceReturnsData()
        {
            // Arrange
            var mock          = new Mock <IPizzaFlavorService>();
            var mockId        = Guid.NewGuid();
            var mockViewModel = Builder <PizzaFlavorViewModel> .CreateNew().Build();

            mock.Setup <PizzaFlavorViewModel>(_ => _.Get(mockId))
            .Returns(mockViewModel);
            Service    = mock.Object;
            Controller = new PizzaFlavorsController(Service);
            Controller.Configuration = new HttpConfiguration();
            Controller.Request       = new HttpRequestMessage();

            // Act
            var result = Controller.Get(mockId);
            PizzaFlavorViewModel content;

            result.TryGetContentValue <PizzaFlavorViewModel>(out content);

            // Assert
            Assert.AreEqual(HttpStatusCode.OK, result.StatusCode);
            Assert.AreEqual(mockViewModel, content);
        }