示例#1
0
        public async Task Create_WhenCalled_CreateCustomerInDbAndRedirectToIndex()
        {
            // Arrange
            var model = new  RestaurantCreateViewModel
            {
                Name        = "Serving You",
                Phone       = "02 1111 2222",
                Email       = "*****@*****.**",
                Description = "Fantastic Restaurant",
                Postcode    = "2000",
                StateCode   = "NSW",
                Unit        = "1",
                Street      = "Queen",
                Town        = "Sydney",
                //DateCreated = new DateTime(2020, 11, 1)
            };

            // Act
            var result = await controller.Create(model) as RedirectToActionResult;

            // Assert
            repository.Verify(r => r.Add(It.IsAny <Restaurant>()), Times.Once);
            unitOfWork.Verify(u => u.CompleteAsync(), Times.Once);
            Assert.That(result.ActionName, Is.EqualTo("index").IgnoreCase);
        }
        public async Task Create_AddRestaurant_AddedRestaurantReturned()
        {
            // Arrange
            var newRestaurant = new RestaurantDto()
            {
                Name = Common.RestaurantName
            };
            var resultRestaurant = new RestaurantDto()
            {
                Id = 1, Name = Common.RestaurantName
            };

            var mock = new Mock <IRestaurantManagementService>();

            mock.Setup(rmService => rmService.AddRestaurantAsync(It.IsAny <RestaurantDto>()))
            .Returns(Task.FromResult(resultRestaurant));

            var loggerMock = new Mock <ILogger <RestaurantsController> >();

            var controller = new RestaurantsController(mock.Object, loggerMock.Object);

            // Act
            var result = await controller.Create(newRestaurant);

            // Assert
            var actionResult = Assert.IsType <CreatedAtRouteResult>(result);

            Assert.Equal(resultRestaurant, actionResult?.Value);
        }
示例#3
0
        public void Create_Saves_Restaurant_When_Valid()
        {
            var db         = new FakeOdeToFoodDb();
            var controller = new RestaurantsController(db);

            controller.Create(new Restaurant());

            Assert.AreEqual(1, db.Added.Count);
            Assert.AreEqual(true, db.Saved);
        }
示例#4
0
        public void Create_Does_Not_Save_Restaurant_When_Invalid()
        {
            var db         = new FakeOdeToFoodDb();
            var controller = new RestaurantsController(db);

            controller.ModelState.AddModelError("", "Invalid");

            controller.Create(new Restaurant());

            Assert.AreEqual(0, db.Added.Count);
        }
        public void Create()
        {
            // Arrange
            RestaurantsController controller = new RestaurantsController();

            // Act
            ViewResult result = controller.Create() as ViewResult;

            // Assert
            Assert.IsNotNull(result);
        }
示例#6
0
        public void TestRestaurantsCreate()
        {
            //Arrange
            FakeRestaurantRepository fakeRestaurantRepository = new FakeRestaurantRepository();
            FakeReviewRepository     fakeReviewRepository     = new FakeReviewRepository();
            RestaurantsController    controller = new RestaurantsController(fakeRestaurantRepository, fakeReviewRepository);

            //Act
            var result = controller.Create() as ViewResult;

            //Assert
            Assert.IsNotNull(result);
        }
        public void CreateTest()
        {
            //Arrange
            var mockControllerContext = new Mock <ControllerContext>();
            var mockSession           = new Mock <HttpSessionStateBase>();

            mockSession.SetupGet(s => s["RoleId"]).Returns("2");
            mockControllerContext.Setup(p => p.HttpContext.Session).Returns(mockSession.Object);
            RestaurantsController restaurantsController = new RestaurantsController();

            restaurantsController.ControllerContext = mockControllerContext.Object;

            //Act
            RedirectToRouteResult redirectResult = (RedirectToRouteResult)restaurantsController.Create();
            string result = redirectResult.RouteValues["action"].ToString();

            //Assert
            Assert.AreEqual(result, "Login");
        }
        public async Task Create_AddRestaurantWithoutName_BadRequest()
        {
            // Arrange
            var newRestaurant = new RestaurantDto()
            {
                Name = null
            };

            var mock       = new Mock <IRestaurantManagementService>();
            var loggerMock = new Mock <ILogger <RestaurantsController> >();

            var controller = new RestaurantsController(mock.Object, loggerMock.Object);

            controller.ModelState.AddModelError("Name", "Required");

            // Act
            var result = await controller.Create(newRestaurant);

            // Assert
            Assert.Equal(typeof(BadRequestObjectResult), result.GetType());
        }
        public async Task Create_AddRestaurantCityIdLessOne_BadRequest()
        {
            // Arrange
            var newRestaurant = new RestaurantDto()
            {
                Name   = Common.RestaurantName,
                CityId = Common.BadCityId
            };

            var mock       = new Mock <IRestaurantManagementService>();
            var loggerMock = new Mock <ILogger <RestaurantsController> >();

            var controller = new RestaurantsController(mock.Object, loggerMock.Object);

            controller.ModelState.AddModelError("CityId", "MustMoreZero");

            // Act
            var result = await controller.Create(newRestaurant);

            // Assert
            Assert.Equal(typeof(BadRequestObjectResult), result.GetType());
        }