public void DocumentTypeEditorControllerTests_Invalid_Model_State_When_Missing_Required_Values() { //Arrange var schema = CreateNewSchema(); RebelApplicationContext.AddPersistenceData(schema); var controller = new DocumentTypeEditorController(GetBackOfficeRequestContext()); controller.InjectDependencies(new Dictionary <string, string>(), new Dictionary <string, string> { { "Name", "" }, { "Alias", "" }, { "Icon", "" }, { "Thumbnail", "" } }, GetBackOfficeRequestContext()); //Act var result = (ViewResult)controller.EditForm(schema.Id); var model = (DocumentTypeEditorModel)result.Model; //Assert Assert.IsFalse(controller.ModelState.IsValid); Assert.IsFalse(controller.ModelState.IsValidField("Name")); Assert.IsFalse(controller.ModelState.IsValidField("Alias")); Assert.IsFalse(controller.ModelState.IsValidField("Icon")); Assert.IsFalse(controller.ModelState.IsValidField("Thumbnail")); }
public void DocumentTypeEditorControllerTests_IsCreatingNewProperty_Flag_Invalidates_Empty_NewProperty_Values() { //Arrange var schema = CreateNewSchema(); RebelApplicationContext.AddPersistenceData(schema); var controller = new DocumentTypeEditorController(GetBackOfficeRequestContext()); controller.InjectDependencies(new Dictionary <string, string>(), new Dictionary <string, string> { { "Name", "Hello" }, { "IsCreatingNewProperty", "true" }, { "NewProperty.Name", "" }, { "NewProperty.Alias", "" }, { "NewProperty.DataTypeId", "" }, { "NewProperty.SortOrder", "" } }, GetBackOfficeRequestContext()); //Act var result = (ViewResult)controller.EditForm(schema.Id); var model = (DocumentTypeEditorModel)result.Model; //Assert Assert.IsFalse(controller.ModelState.IsValidField("NewProperty.Name")); Assert.IsFalse(controller.ModelState.IsValidField("NewProperty.Alias")); Assert.IsFalse(controller.ModelState.IsValidField("NewProperty.DataTypeId")); Assert.IsFalse(controller.ModelState.IsValidField("NewProperty.SortOrder")); }
public void DocumentTypeEditorControllerTests_Add_Tab_Button_With_Duplicate_Name_Invalidates() { //Arrange var schema = CreateNewSchema(); schema.AttributeGroups.Add(new AttributeGroup("tab1", "Tab 1", 0) { Id = new HiveId(Guid.NewGuid()) }); schema.AttributeGroups.Add(new AttributeGroup("tab2", "Tab 2", 1) { Id = new HiveId(Guid.NewGuid()) }); RebelApplicationContext.AddPersistenceData(schema); var controller = new DocumentTypeEditorController(GetBackOfficeRequestContext()); controller.InjectDependencies(new Dictionary <string, string>(), new Dictionary <string, string> { { "submit.Tab", "New Tab" }, { "NewTabName", "Tab 2" } }, GetBackOfficeRequestContext()); //Act var result = (ViewResult)controller.EditForm(schema.Id); var model = (DocumentTypeEditorModel)result.Model; //Assert Assert.IsFalse(controller.ModelState.IsValidField("NewTabName")); }
public void DocumentTypeEditorControllerTests_Add_Tab_Button_Invalidates_Empty_Tab_Name() { //Arrange var schema = CreateNewSchema(); RebelApplicationContext.AddPersistenceData(schema); var controller = new DocumentTypeEditorController(GetBackOfficeRequestContext()); controller.InjectDependencies(new Dictionary <string, string>(), new Dictionary <string, string> { { "submit.Tab", "New Tab" }, { "NewTabName", "" } }, GetBackOfficeRequestContext()); //Act var result = (ViewResult)controller.EditForm(schema.Id); var model = (DocumentTypeEditorModel)result.Model; //Assert Assert.IsFalse(controller.ModelState.IsValidField("NewTabName")); }
protected EntitySchema CreateNewSchema(PropertyEditor propEditor = null, string alias = "test") { if (propEditor == null) { propEditor = new MandatoryPropertyEditor(); } var attributeType = HiveModelCreationHelper.CreateAttributeType("test", "test", "test"); attributeType.RenderTypeProvider = propEditor.Id.ToString(); RebelApplicationContext.AddPersistenceData(attributeType); var schema = HiveModelCreationHelper.MockEntitySchema(alias, alias); schema.TryAddAttributeDefinition(HiveModelCreationHelper.CreateAttributeDefinition("siteName", "Site Name", "", attributeType, null)); schema.TryAddAttributeDefinition(HiveModelCreationHelper.CreateAttributeDefinition("bodyText", "Body Text", "", attributeType, null)); //set all attribute defs to the attribute type schema.AttributeDefinitions.Where(x => !x.Alias.StartsWith("system-")).ForEach(x => x.AttributeType = attributeType); schema.RelationProxies.EnlistParent(new ContentRootSchema(), FixedRelationTypes.DefaultRelationType, 0); RebelApplicationContext.AddPersistenceData(schema); return(schema); }
public void DataTypeEditorControllerTests_DataType_Saved() { //Arrange //create data type in persistence layer var propEditor = new MandatoryPropertyEditor(); var dataTypeEntity = HiveModelCreationHelper.CreateAttributeType("test", "Test", ""); dataTypeEntity.RenderTypeProvider = propEditor.Id.ToString(); RebelApplicationContext.AddPersistenceData(dataTypeEntity); var controller = new DataTypeEditorController(GetBackOfficeRequestContext()); controller.InjectDependencies(new Dictionary <string, string>(), new Dictionary <string, string> { { "Name", "Hello World" }, { "PropertyEditorId", "5A379AF0-0256-4BE9-9D01-F149603DB257" }, { "submit.Save", "Save" } //set save flag }, GetBackOfficeRequestContext(), false); //Act var result = controller.EditForm(dataTypeEntity.Id); //Assert Assert.IsTrue(result is RedirectToRouteResult); using (var uow = RebelApplicationContext.Hive.OpenReader <IContentStore>()) { var latestEntity = uow.Repositories.Schemas.Get <AttributeType>(dataTypeEntity.Id); Assert.IsTrue(dataTypeEntity.UtcModified < latestEntity.UtcModified); } }
public void DataTypeEditorControllerTests_PreValueModel_Data_Will_Be_Updated_With_Posted_Values() { //Arrange //create data type in persistence layer var propEditor = new MandatoryPropertyEditor(); var dataTypeEntity = HiveModelCreationHelper.CreateAttributeType("test", "Test", ""); dataTypeEntity.RenderTypeProvider = propEditor.Id.ToString(); RebelApplicationContext.AddPersistenceData(dataTypeEntity); var controller = new DataTypeEditorController(GetBackOfficeRequestContext()); controller.InjectDependencies(new Dictionary <string, string>(), new Dictionary <string, string> { { "PreValueEditorModel.Value", "hello" } }, GetBackOfficeRequestContext()); //Act var result = controller.EditForm(dataTypeEntity.Id) as ViewResult; //Assert Assert.IsTrue(controller.ModelState.IsValidField("PreValueEditorModel.Value")); Assert.AreEqual("hello", controller.ModelState["PreValueEditorModel.Value"].Value.AttemptedValue); }
public void DataTypeEditorControllerTests_All_Standard_Values_Bound() { //Arrange //create data type in persistence layer var propEditor = new MandatoryPropertyEditor(); var dataTypeEntity = HiveModelCreationHelper.CreateAttributeType("test", "Test", ""); dataTypeEntity.RenderTypeProvider = propEditor.Id.ToString(); RebelApplicationContext.AddPersistenceData(dataTypeEntity); var controller = new DataTypeEditorController(GetBackOfficeRequestContext()); controller.InjectDependencies(new Dictionary <string, string>(), new Dictionary <string, string> { { "Name", "Hello World" }, { "PropertyEditorId", "5A379AF0-0256-4BE9-9D01-F149603DB257" } }, GetBackOfficeRequestContext()); //Act var result = controller.EditForm(dataTypeEntity.Id) as ViewResult; var modelState = controller.ModelState; //Assert Assert.AreEqual("Hello World", controller.ModelState["Name"].Value.AttemptedValue); Assert.IsTrue(controller.ModelState.IsValidField("Name")); Assert.AreEqual("5A379AF0-0256-4BE9-9D01-F149603DB257", controller.ModelState["PropertyEditorId"].Value.AttemptedValue); Assert.IsTrue(controller.ModelState.IsValidField("PropertyEditorId")); }
public void DataTypeEditorControllerTests_Invalid_Model_State_When_Missing_Required_Values() { //Arrange //create data type in persistence layer var propEditor = new MandatoryPropertyEditor(); var dataTypeEntity = HiveModelCreationHelper.CreateAttributeType("test", "Test", ""); dataTypeEntity.RenderTypeProvider = propEditor.Id.ToString(); RebelApplicationContext.AddPersistenceData(dataTypeEntity); var controller = new DataTypeEditorController(GetBackOfficeRequestContext()); controller.InjectDependencies(new Dictionary <string, string>(), new Dictionary <string, string> { { "Name", "" }, { "PropertyEditorId", "" } }, GetBackOfficeRequestContext()); //Act var result = controller.EditForm(dataTypeEntity.Id) as ViewResult; //Assert Assert.IsFalse(controller.ModelState.IsValidField("Name")); Assert.IsFalse(controller.ModelState.IsValidField("PropertyEditorId")); }
public void DataTypeEditorControllerTests_Create_New_Wizard_Step_Bound_And_Validated() { //Arrange var propEditor = new MandatoryPropertyEditor(); var createModel = new CreateDataTypeModel { Name = "test", PropertyEditorId = propEditor.Id }; //create data type in persistence layer var dataTypeEntity = HiveModelCreationHelper.CreateAttributeType("test", "Test", ""); dataTypeEntity.RenderTypeProvider = propEditor.Id.ToString(); RebelApplicationContext.AddPersistenceData(dataTypeEntity); var controller = new DataTypeEditorController(GetBackOfficeRequestContext()); controller.InjectDependencies(GetBackOfficeRequestContext()); //Act var result = (ViewResult)controller.CreateNewForm(createModel); var model = (CreateDataTypeModel)result.Model; //Assert Assert.IsTrue(controller.ModelState.IsValidField("Name")); Assert.IsTrue(controller.ModelState.IsValidField("PropertyEditorId")); Assert.AreEqual("test", model.Name); Assert.AreEqual(propEditor.Id, model.PropertyEditorId); }
public JsonResult PerformRecycleApplication(bool onlyCheck) { if (!onlyCheck) { RebelApplicationContext.RestartApplicationPool(HttpContext); return(Json(new { status = "restarting" })); } return(Json(new { status = "restarted" })); }
public void DocumentTypeEditorControllerTests_Tab_Definitions_Bound_And_Validated() { //Arrange var schema = CreateNewSchema(); var grp1 = new AttributeGroup("testtab1", "Tab 1", 0); var grp2 = new AttributeGroup("testtab2", "Tab 2", 1); schema.AttributeGroups.Add(grp1); schema.AttributeGroups.Add(grp2); RebelApplicationContext.AddPersistenceData(schema); grp1 = schema.AttributeGroups.FirstOrDefault(x => x.Alias == "testtab1"); grp2 = schema.AttributeGroups.FirstOrDefault(x => x.Alias == "testtab2"); var controller = new DocumentTypeEditorController(GetBackOfficeRequestContext()); controller.InjectDependencies(new Dictionary <string, string>(), new Dictionary <string, string> { { string.Format("{0}.Name", grp1.Id.GetHtmlId()), "new name 1" }, { string.Format("{0}.SortOrder", grp1.Id.GetHtmlId()), "100" }, { string.Format("{0}.Name", grp2.Id.GetHtmlId()), "new name 2" }, { string.Format("{0}.SortOrder", grp2.Id.GetHtmlId()), "200" }, }, GetBackOfficeRequestContext()); //Act var result = (ViewResult)controller.EditForm(schema.Id); var model = (DocumentTypeEditorModel)result.Model; //Assert var tab1 = model.DefinedTabs.Single(x => x.Id == grp1.Id); var tab2 = model.DefinedTabs.Single(x => x.Id == grp2.Id); Assert.AreEqual("new name 1", tab1.Name); Assert.AreEqual("new name 2", tab2.Name); Assert.AreEqual(100, tab1.SortOrder); Assert.AreEqual(200, tab2.SortOrder); Assert.IsTrue(controller.ModelState.IsValidField(string.Format("{0}.Name", grp1.Id.GetHtmlId()))); Assert.IsTrue(controller.ModelState.IsValidField(string.Format("{0}.Name", grp2.Id.GetHtmlId()))); }
public void DocumentTypeEditorControllerTests_Ensure_Allowed_Children_Are_Nulled_When_Posting_Empty_List() { //Arrange var schema = CreateNewSchema(); schema.SetXmlConfigProperty("allowed-children", new[] { new HiveId(Guid.NewGuid()).ToString() }); RebelApplicationContext.AddPersistenceData(schema); var controller = new DocumentTypeEditorController(GetBackOfficeRequestContext()); controller.InjectDependencies(new Dictionary <string, string>(), new Dictionary <string, string>(), GetBackOfficeRequestContext()); //Act var result = (ViewResult)controller.EditForm(schema.Id); var model = (DocumentTypeEditorModel)result.Model; //Assert Assert.IsFalse(model.AllowedChildren.Any(x => x.Selected)); //all items should be not selected }
protected Revision <TypedEntity> CreateEntityRevision(PropertyEditor propEditor, Action <Revision <TypedEntity> > beforeCommit) { EntitySchema docTypeEntity = CreateNewSchema(propEditor); //create some content properties including node name var nodeName = HiveModelCreationHelper.CreateAttribute(docTypeEntity.AttributeDefinitions.Single(x => x.Alias == NodeNameAttributeDefinition.AliasValue), ""); var bodyText = HiveModelCreationHelper.CreateAttribute(docTypeEntity.AttributeDefinitions.Single(x => x.Alias == "bodyText"), "my-test-value1"); var siteName = HiveModelCreationHelper.CreateAttribute(docTypeEntity.AttributeDefinitions.Single(x => x.Alias == "siteName"), "my-test-value2"); var contentEntity = HiveModelCreationHelper.CreateVersionedTypedEntity(docTypeEntity, new[] { nodeName, bodyText, siteName }); contentEntity.MetaData = new RevisionData(FixedStatusTypes.Draft); if (beforeCommit != null) { beforeCommit(contentEntity); } RebelApplicationContext.AddPersistenceData(contentEntity); return(contentEntity); }
public void DataTypeEditorControllerTests_Create_New_Wizard_Step_Bound_And_Invalidated() { //Arrange var createModel = new CreateDataTypeModel { Name = "", PropertyEditorId = Guid.Empty }; //create data type in persistence layer var dataTypeEntity = HiveModelCreationHelper.CreateAttributeType("test", "Test", ""); RebelApplicationContext.AddPersistenceData(dataTypeEntity); var controller = new DataTypeEditorController(GetBackOfficeRequestContext()); controller.InjectDependencies(GetBackOfficeRequestContext()); //Act var result = (ViewResult)controller.CreateNewForm(createModel); //Assert Assert.IsFalse(controller.ModelState.IsValidField("Name")); }