예제 #1
0
        public void SuccessfullyCreateActionShouldReturnRedirectToAction()
        {
            // ARRANGE
            SettingDto fakeSetting = new()
            {
                Key   = "fakeKey",
                Value = "fakeValue"
            };

            using var context = new ApplicationDbContext(ContextOptions);
            var mockService    = new SettingService(new UnitOfWork(context), new Mock <ILogger <SettingService> >().Object);
            var mockController = new SettingController(mockService);

            // ACT
            var taskResult = (RedirectToActionResult)mockController.Create(fakeSetting).Result;

            // ASSERT

            Assert.Equal("Index", taskResult.ActionName);
        }
예제 #2
0
        public void DuplicatedKeyonCreateActionShouldReturnBadRequest()
        {
            // ARRANGE
            SettingDto duplicatedSetting = new()
            {
                Key   = "someKey",
                Value = "someValue"
            };

            using var context = new ApplicationDbContext(ContextOptions);
            var mockService    = new SettingService(new UnitOfWork(context), new Mock <ILogger <SettingService> >().Object);
            var mockController = new SettingController(mockService);

            // ACT
            var taskResult = (ViewResult)mockController.Create(duplicatedSetting).Result;

            // ASSERT

            Assert.True(taskResult.ViewData.ModelState.ErrorCount > 0);
            Assert.True(taskResult.ViewData.ModelState.ContainsKey("400"));
        }
    }