Esempio n. 1
0
        public async Task CreatePost_WithExistingManufacturer_ShouldReturnErrorMessageAndReturnValidViewModel()
        {
            string errorMessage = null;

            //Arrange
            Mock <IManufacturerService> manufacturerService = new Mock <IManufacturerService>();

            manufacturerService
            .Setup(m => m.IsManufacturerExistingByName(null))
            .ReturnsAsync(true);

            Mock <ITempDataDictionary> tempData = new Mock <ITempDataDictionary>();

            tempData
            .SetupSet(t => t[TempDataErrorMessageKey] = It.IsAny <string>())
            .Callback((string key, object message) => errorMessage = message as string);

            ManufacturersController manufacturersController = new ManufacturersController(null, manufacturerService.Object)
            {
                TempData = tempData.Object
            };

            //Act
            var result = await manufacturersController.Create(new ManufacturerFormViewModel());

            //Assert
            errorMessage.Should().Be(string.Format(EntityExists, ManufacturerEntity));

            result.Should().BeOfType <ViewResult>();

            result.As <ViewResult>().Model.Should().BeOfType <ManufacturerFormViewModel>();
        }
        public void CreatingManufacturerAddsManufacturerToDatabase()
        {
            Manufacturer verifiedManufacturer = null;

            var mockDatabase = new Mock <HonestCarsDbContext>();
            var bucket       = new Mock <DbSet <Manufacturer> >();

            bucket.Setup(b => b.Add(It.IsAny <Manufacturer>())).Callback <Manufacturer>(m => {
                verifiedManufacturer = m;
            });

            mockDatabase.SetupGet(db => db.Manufacturers).Returns(bucket.Object);
            mockDatabase.Setup(m => m.SaveChanges()).Verifiable();

            var c   = new ManufacturersController(mockDatabase.Object);
            var mfr = new Manufacturer {
                Name = "Test Manufacturer"
            };

            var result = c.Create(mfr);

            mockDatabase.Verify();

            Assert.NotNull(verifiedManufacturer);
        }
Esempio n. 3
0
        public void CreateGet_ShouldReturnViewModel()
        {
            //Arrange
            ManufacturersController manufacturersController = new ManufacturersController(null, null);

            //Act
            var result = manufacturersController.Create();

            //Assert
            result.Should().BeOfType <ViewResult>();
        }
Esempio n. 4
0
        public async Task CreatePost_WithInvalidModelState_ShouldReturnValidViewModel()
        {
            //Arrange
            ManufacturersController manufacturersController = new ManufacturersController(null, null);

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

            //Act
            var result = await manufacturersController.Create(new ManufacturerFormViewModel());

            //Assert
            result.Should().BeOfType <ViewResult>();

            result.As <ViewResult>().Model.Should().BeOfType <ManufacturerFormViewModel>();
        }
        public void CreatingMfrRedirectsToIndexPage()
        {
            var mockDatabase = new Mock <HonestCarsDbContext>();
            var bucket       = new Mock <DbSet <Manufacturer> >();

            mockDatabase.SetupGet(db => db.Manufacturers).Returns(bucket.Object);
            mockDatabase.Setup(m => m.SaveChanges()).Verifiable();

            var c      = new ManufacturersController(mockDatabase.Object);
            var result = c.Create(new Manufacturer()
            {
                Name = "Doesn't Matter"
            });

            Assert.True(result is Microsoft.AspNetCore.Mvc.RedirectToActionResult);
        }
Esempio n. 6
0
        public async Task CreatePost_WithCorrectData_ShouldReturnSuccessMessageAndReturnToManufacturersIndex()
        {
            string successMessage = null;

            //Arrange
            Mock <IManagerManufacturerService> managerManufacturerService = new Mock <IManagerManufacturerService>();

            managerManufacturerService
            .Setup(m => m.CreateAsync(null, null))
            .Returns(Task.CompletedTask);

            Mock <IManufacturerService> manufacturerService = new Mock <IManufacturerService>();

            manufacturerService
            .Setup(m => m.IsManufacturerExistingByName(null))
            .ReturnsAsync(false);

            Mock <ITempDataDictionary> tempData = new Mock <ITempDataDictionary>();

            tempData
            .SetupSet(t => t[TempDataSuccessMessageKey] = It.IsAny <string>())
            .Callback((string key, object message) => successMessage = message as string);

            ManufacturersController manufacturersController = new ManufacturersController(managerManufacturerService.Object, manufacturerService.Object)
            {
                TempData = tempData.Object
            };

            //Act
            var result = await manufacturersController.Create(new ManufacturerFormViewModel());

            //Assert
            successMessage.Should().Be(string.Format(EntityCreated, ManufacturerEntity));

            result.Should().BeOfType <RedirectToActionResult>();

            result.As <RedirectToActionResult>().ActionName.Should().Be("Index");
            result.As <RedirectToActionResult>().ControllerName.Should().Be("Manufacturers");
            result.As <RedirectToActionResult>().RouteValues.Keys.Should().Contain("isDeleted");
            result.As <RedirectToActionResult>().RouteValues.Values.Should().Contain(false);
        }
        public void Edit_ReturnRedirectToAction_WhenModelSateIsValid()
        {
            var options = new DbContextOptionsBuilder <GameDbContext>()
                          .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString())
                          .Options;

            var context    = new GameDbContext(options);
            var controller = new ManufacturersController(context);

            SeedData(context);

            var manufacturer = new Manufacturer()
            {
                Id   = 4,
                Name = "dsdsad"
            };

            var result = (RedirectToActionResult)controller.Create(manufacturer);

            var redirectToActionResult = Assert.IsType <RedirectToActionResult>(result);

            Assert.Equal("Index", redirectToActionResult.ActionName);
        }
Esempio n. 8
0
        public void CreateManufacturerForm()
        {
            ViewResult view = controller.Create() as ViewResult;

            Assert.NotNull(view);
        }
Esempio n. 9
0
        public void Create_DadoModel_DeveChamarCreateCommandUmaVez()
        {
            _controller.Create(It.IsAny <Manufacturer>());

            _createCommandMock.Verify(query => query.Execute(It.IsAny <Manufacturer>()), Times.Once);
        }