コード例 #1
0
        public void Index_Test()
        {
            var mockRepo = new Mock <DevCmsDb>();

            mockRepo.SetupDbSetMock(db => db.ContentTypes, GetContentTypeList());

            var model = new CreateContentTypeModel
            {
                Name       = "Test",
                Attributes = null
            };

            Assert.Equal(1, mockRepo.Object.ContentTypes.Count());

            var controller  = new ContentTypeController(mockRepo.Object);
            var result      = controller.Index(model);
            var viewResult  = Assert.IsType <ViewResult>(result);
            var resultModel = Assert.IsAssignableFrom <EditContentTypeModel>(
                viewResult.ViewData.Model);

            Assert.Equal("Edit", viewResult.ViewName);

            mockRepo.Verify(db => db.SaveChanges(), Times.Once());
            Assert.Equal(2, mockRepo.Object.ContentTypes.Count());

            var newEntity = mockRepo.Object.ContentTypes.Last();

            Assert.Equal("Test", newEntity.Name);
            Assert.Empty(resultModel.Attrs);
        }
コード例 #2
0
 public IActionResult Index(CreateContentTypeModel model)
 {
     if (ModelState.IsValid)
     {
         var contentType = new EntityType {
             Name = model.Name
         };
         _db.ContentTypes.Add(contentType);
         _db.SaveChanges();
         var editModel = DtoHelper.GetEditContentTypeModel(contentType);
         return(View(nameof(Edit), editModel));
     }
     return(View(model));
 }
コード例 #3
0
        public IActionResult Create(CreateContentTypeModel model)
        {
            // Rule: Name must be unique.
            if (data.ContentTypes.Any(x => x.Name == model.Name))
            {
                return(this.Error("E_NAME_UNIQUE", "Name is not unique."));
            }

            var contentType = new ContentType {
                Name = model.Name
            };

            data.Add(contentType);
            data.SaveChanges();

            return(Ok(contentType));
        }
コード例 #4
0
        public void Index_Test_InvalidModel()
        {
            var mockRepo = new Mock <DevCmsDb>();

            mockRepo.SetupDbSetMock(db => db.ContentTypes, GetContentTypeList());

            Assert.Equal(1, mockRepo.Object.ContentTypes.Count());

            var model = new CreateContentTypeModel();

            var controller = new ContentTypeController(mockRepo.Object);

            controller.ModelState.AddModelError("Name", "Required");
            var result     = controller.Index(model);
            var viewResult = Assert.IsType <ViewResult>(result);

            Assert.IsAssignableFrom <CreateContentTypeModel>(viewResult.ViewData.Model);

            mockRepo.Verify(db => db.SaveChanges(), Times.Never);
            Assert.Equal(1, mockRepo.Object.ContentTypes.Count());
        }