public void GetFormData_NullRequest() { var handler = new FormControllerRequestHandler(new DictionaryCache <long, EntityData>()); Assert.That(() => handler.GetFormData(null), Throws.TypeOf <ArgumentNullException>().And.Property("ParamName").EqualTo("request")); }
public void GetFormCalculationDependencies_NullForm() { var handler = new FormControllerRequestHandler(new DictionaryCache <long, EntityData>()); Assert.That(() => handler.GetFormCalculationDependencies(null), Throws.TypeOf <ArgumentNullException>().And.Property("ParamName").EqualTo("formRef")); }
public void GetFormCalculationDependencies_NoCalculations() { var testState = CreateTestEntities(null, null, "name", "description"); var handler = new FormControllerRequestHandler(new DictionaryCache <long, EntityData>()); var response = handler.GetFormCalculationDependencies(new EntityRef(testState.EditForm.Id)); Assert.IsNull(response.VisibilityCalcDependencies); }
public void GetFormAsEntityData() { // Create a form with the name and description controls depending on each other var testState = CreateTestEntities(null, null, "name", "description"); var handler = new FormControllerRequestHandler(new DictionaryCache <long, EntityData>()); var entityData = handler.GetFormAsEntityData(testState.EditForm.Id, false); Assert.AreEqual(testState.EditForm.Id, entityData.Id.Id); }
public void GetFormData_InvalidEntityRequest() { var handler = new FormControllerRequestHandler(new DictionaryCache <long, EntityData>()); var request = new FormDataRequest { EntityId = "-100", Query = "name, description" }; var response = handler.GetFormData(request); Assert.IsNull(response); }
public void GetFormCalculationDependencies_NonBoolCalculation() { // Create a form with one of the calcs being a non bool expression var testState = CreateTestEntities("[Description] = 'test'", "[Name]", "name", "description"); var handler = new FormControllerRequestHandler(new DictionaryCache <long, EntityData>()); var response = handler.GetFormCalculationDependencies(new EntityRef(testState.EditForm.Id)); Assert.AreEqual(1, response.VisibilityCalcDependencies.Count); VisibilityCalcDependencies nameDeps; Assert.IsTrue(response.VisibilityCalcDependencies.TryGetValue(testState.NameControl.Id, out nameDeps)); Assert.AreEqual(1, nameDeps.Fields.Count); Assert.IsTrue(nameDeps.Fields.Contains(EntityType.Description_Field.Id)); }
public void GetFormData_NoVisCalculation() { // Create a form with the name and description controls depending on each other var testState = CreateTestEntities(null, null, "name", "description"); var handler = new FormControllerRequestHandler(new DictionaryCache <long, EntityData>()); var request = new FormDataRequest { FormId = testState.EditForm.Id.ToString(), EntityId = testState.Instance.Id.ToString(), Query = "name, description" }; var response = handler.GetFormData(request); Assert.IsNull(response.InitiallyHiddenControls); Assert.IsTrue(response.FormDataEntity.Entities.ContainsKey(testState.Instance.Id)); }
public void GetFormData_NonBoolVisCalculation() { var testState = CreateTestEntities("[Description]", null, "name", "description"); var handler = new FormControllerRequestHandler(new DictionaryCache <long, EntityData>()); var request = new FormDataRequest { FormId = testState.EditForm.Id.ToString(), EntityId = testState.Instance.Id.ToString(), Query = "name, description" }; var response = handler.GetFormData(request); Assert.AreEqual(1, response.InitiallyHiddenControls.Count); Assert.IsTrue(response.InitiallyHiddenControls.Contains(testState.NameControl.Id)); Assert.IsTrue(response.FormDataEntity.Entities.ContainsKey(testState.Instance.Id)); }
public void GetFormCalculationDependencies_RelationshipCalculations() { // Create a form with the name and description controls depending on each other var testState = CreateTestEntities("[Created by].Name = 'test'", null, "name", "description"); var handler = new FormControllerRequestHandler(new DictionaryCache <long, EntityData>()); var response = handler.GetFormCalculationDependencies(new EntityRef(testState.EditForm.Id)); Assert.AreEqual(1, response.VisibilityCalcDependencies.Count); VisibilityCalcDependencies nameDeps; Assert.IsTrue(response.VisibilityCalcDependencies.TryGetValue(testState.NameControl.Id, out nameDeps)); Assert.AreEqual(1, nameDeps.Fields.Count); Assert.AreEqual(1, nameDeps.Relationships.Count); Assert.IsTrue(nameDeps.Fields.Contains(EntityType.Name_Field.Id)); Assert.IsTrue(nameDeps.Relationships.Contains(EntityType.CreatedBy_Field.Id)); }
public void ValidateRequest_InvalidRequest(string entityId, string formId, string query, bool expectedResult, string errorMessageContains) { var handler = new FormControllerRequestHandler(new DictionaryCache <long, EntityData>()); var request = new FormDataRequest { EntityId = entityId, FormId = formId, Query = query }; string message; var result = handler.ValidateRequest(request, out message); Assert.AreEqual(expectedResult, result, "The validation result is invalid"); if (!expectedResult) { Assert.IsTrue(message.Contains(errorMessageContains), "The error message is incorrect."); } else { Assert.IsTrue(string.IsNullOrWhiteSpace(message)); } }