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