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); }
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)); }
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)); }
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()); }