public void CanMakeReportAndApplyRequiredFromUserToDateParams() { rws.ReportParameter p1 = new rws.ReportParameter(); p1.Name = "ParamWithDefault"; p1.Type = rws.ParameterTypeEnum.DateTime; p1.DefaultValues = new string[] { "01/Jan/2011" }; p1.Nullable = false; rws.ReportParameter p2 = new rws.ReportParameter(); p2.Name = "ParamWithoutDefault"; p2.Type = rws.ParameterTypeEnum.DateTime; p2.DefaultValues = new string[] { }; p2.Nullable = false; rws.ReportParameter[] paramArray = new rws.ReportParameter[] { p1, p2 }; var configMock = MockRepository.GenerateMock <CrcExtraConfiguration>(); // make main service obj var factory = new CrcReportDefinitionFactory(); var repDefn = factory.Create("TestReport", paramArray, configMock); Assert.IsNotNull(repDefn); Assert.AreEqual("TestReport", repDefn.ReportPath); Assert.AreEqual(2, repDefn.ParameterDefinitions.Count()); var p1check = repDefn.ParameterDefinitions.FirstOrDefault(p => p.Name == "ParamWithDefault"); Assert.IsNotNull(p1check); Assert.AreEqual(false, p1check.RequiredFromUser, "RequiredFromUser expected false"); var p2check = repDefn.ParameterDefinitions.FirstOrDefault(p => p.Name == "ParamWithoutDefault"); Assert.IsNotNull(p2check); Assert.AreEqual(true, p2check.RequiredFromUser, "RequiredFromUser expected true"); }
public void CanMakeReportAndDetectEmptySelect() { // sometimes dependant selects can be empty at first // they are always query based though rws.ReportParameter p1 = new rws.ReportParameter(); p1.Name = "ParamSelect"; p1.Nullable = false; p1.Type = rws.ParameterTypeEnum.String; p1.ValidValuesQueryBased = true; p1.ValidValues = null; rws.ReportParameter[] paramArray = new rws.ReportParameter[] { p1 }; var configMock = MockRepository.GenerateMock <CrcExtraConfiguration>(); // make main service obj var factory = new CrcReportDefinitionFactory(); var repDefn = factory.Create("TestReport", paramArray, configMock); Assert.IsNotNull(repDefn); Assert.AreEqual("TestReport", repDefn.ReportPath); Assert.AreEqual(1, repDefn.ParameterDefinitions.Count()); var p1check = repDefn.ParameterDefinitions.FirstOrDefault(p => p.Name == "ParamSelect"); Assert.IsNotNull(p1check); Assert.AreEqual(CrcParameterType.Select, p1check.ParameterType); }
public void CanMakeReportAndApplyRequiredFromUserToDateParams() { rws.ReportParameter p1 = new rws.ReportParameter(); p1.Name = "ParamWithDefault"; p1.Type = rws.ParameterTypeEnum.DateTime; p1.DefaultValues = new string[] { "01/Jan/2011" }; p1.Nullable = false; rws.ReportParameter p2 = new rws.ReportParameter(); p2.Name = "ParamWithoutDefault"; p2.Type = rws.ParameterTypeEnum.DateTime; p2.DefaultValues = new string[] { }; p2.Nullable = false; rws.ReportParameter[] paramArray = new rws.ReportParameter[] { p1, p2 }; var configMock = MockRepository.GenerateMock<CrcExtraConfiguration>(); // make main service obj var factory = new CrcReportDefinitionFactory(); var repDefn = factory.Create("TestReport", paramArray, configMock); Assert.IsNotNull(repDefn); Assert.AreEqual("TestReport", repDefn.ReportPath); Assert.AreEqual(2, repDefn.ParameterDefinitions.Count()); var p1check = repDefn.ParameterDefinitions.FirstOrDefault(p => p.Name == "ParamWithDefault"); Assert.IsNotNull(p1check); Assert.AreEqual(false, p1check.RequiredFromUser, "RequiredFromUser expected false"); var p2check = repDefn.ParameterDefinitions.FirstOrDefault(p => p.Name == "ParamWithoutDefault"); Assert.IsNotNull(p2check); Assert.AreEqual(true, p2check.RequiredFromUser, "RequiredFromUser expected true"); }
public void CanMakeReportAndDetectNormalBoolField() { rws.ReportParameter p1 = new rws.ReportParameter(); p1.Name = "ParamBool"; p1.Nullable = false; p1.Type = rws.ParameterTypeEnum.Boolean; p1.ValidValuesQueryBased = false; p1.ValidValues = null; rws.ReportParameter[] paramArray = new rws.ReportParameter[] { p1 }; var configMock = MockRepository.GenerateMock <CrcExtraConfiguration>(); // make main service obj var factory = new CrcReportDefinitionFactory(); var repDefn = factory.Create("TestReport", paramArray, configMock); Assert.IsNotNull(repDefn); Assert.AreEqual("TestReport", repDefn.ReportPath); Assert.AreEqual(1, repDefn.ParameterDefinitions.Count()); var p1check = repDefn.ParameterDefinitions.FirstOrDefault(p => p.Name == "ParamBool"); Assert.IsNotNull(p1check); Assert.AreEqual(CrcParameterType.Boolean, p1check.ParameterType); }
public void RefreshParameter_CanHandleNulls() { var pd = new CrcParameterDefinition(); pd.Name = "TestParam"; pd.ParameterChoice = new CrcParameterChoice(pd.Name); pd.ParameterChoice.Values.Add("Value1"); pd.ParameterChoice.Values.Add("Value2"); pd.ParameterChoice.Values.Add("Value3"); var latestParam = new rws.ReportParameter(); latestParam.Name = "TestParam"; latestParam.ValidValues = null; latestParam.DefaultValues = null; var r = new CrcParameterRefresher(); r.RefreshParameter(pd, latestParam); Assert.IsNotNull(pd); Assert.AreEqual("TestParam", pd.Name); Assert.AreEqual(0, pd.ParameterChoice.Values.Count()); }
public void CanMakeReportAndApplyRequiredFromUserToMultipicks() { rws.ReportParameter p1 = new rws.ReportParameter(); p1.Name = "ParamWithDefault"; p1.ValidValues = new rws.ValidValue[] { new rws.ValidValue() { Label = "--All--", Value = "%%" }, new rws.ValidValue() { Label = "Label1", Value = "Value1" }, new rws.ValidValue() { Label = "Label2", Value = "Value2" } }; p1.DefaultValues = new string[] { "%%" }; p1.Nullable = false; rws.ReportParameter p2 = new rws.ReportParameter(); p2.Name = "ParamWithoutDefault"; p2.ValidValues = new rws.ValidValue[] { new rws.ValidValue() { Label = "Label3", Value = "Value3" }, new rws.ValidValue() { Label = "Label4", Value = "Value4" } }; p2.DefaultValues = new string[] { }; p2.Nullable = false; rws.ReportParameter[] paramArray = new rws.ReportParameter[] { p1, p2 }; var configMock = MockRepository.GenerateMock <CrcExtraConfiguration>(); // make main service obj var factory = new CrcReportDefinitionFactory(); var repDefn = factory.Create("TestReport", paramArray, configMock); Assert.IsNotNull(repDefn); Assert.AreEqual("TestReport", repDefn.ReportPath); Assert.AreEqual(2, repDefn.ParameterDefinitions.Count()); var p1check = repDefn.ParameterDefinitions.FirstOrDefault(p => p.Name == "ParamWithDefault"); Assert.IsNotNull(p1check); Assert.AreEqual(false, p1check.RequiredFromUser, "RequiredFromUser expected false"); var p2check = repDefn.ParameterDefinitions.FirstOrDefault(p => p.Name == "ParamWithoutDefault"); Assert.IsNotNull(p2check); Assert.AreEqual(true, p2check.RequiredFromUser, "RequiredFromUser expected true"); }
public void RefreshParameter(CrcParameterDefinition paramDefn, rws.ReportParameter latestParamDetails) { logger.DebugFormat("Updating {0} with {1} valid values", paramDefn.Name, (latestParamDetails.ValidValues != null) ? latestParamDetails.ValidValues.Count().ToString() : "null"); UpdateValidValues(paramDefn, latestParamDetails.ValidValues); if (!IsChoiceValid(paramDefn)) { logger.DebugFormat("Param {0} choices are now invalid so applying {1} default values", paramDefn.Name, (latestParamDetails.DefaultValues != null) ? latestParamDetails.DefaultValues.Count().ToString() : "null"); UpdateDefaultValues(paramDefn, latestParamDetails.DefaultValues); } }
public void CanMakeReportAndDetectBoolFieldWithYesNoValues() { rws.ReportParameter p1 = new rws.ReportParameter(); p1.Name = "ParamBool"; p1.Nullable = false; p1.Type = rws.ParameterTypeEnum.Boolean; p1.ValidValuesQueryBased = false; p1.ValidValues = new rws.ValidValue[] { new rws.ValidValue() { Label = "Yes", Value = "true" }, new rws.ValidValue() { Label = "No", Value = "false" } }; rws.ReportParameter[] paramArray = new rws.ReportParameter[] { p1 }; var configMock = MockRepository.GenerateMock <CrcExtraConfiguration>(); // make main service obj var factory = new CrcReportDefinitionFactory(); var repDefn = factory.Create("TestReport", paramArray, configMock); Assert.IsNotNull(repDefn); Assert.AreEqual("TestReport", repDefn.ReportPath); Assert.AreEqual(1, repDefn.ParameterDefinitions.Count()); var p1check = repDefn.ParameterDefinitions.FirstOrDefault(p => p.Name == "ParamBool"); Assert.IsNotNull(p1check); Assert.AreEqual(CrcParameterType.Select, p1check.ParameterType); Assert.AreEqual(2, p1check.ValidValues.Count()); var v1 = p1check.ValidValues.FirstOrDefault(v => v.Value == "true"); Assert.IsNotNull(v1); Assert.AreEqual("Yes", v1.Label); var v2 = p1check.ValidValues.FirstOrDefault(v => v.Value == "false"); Assert.IsNotNull(v2); Assert.AreEqual("No", v2.Label); }
public void CanMakeReportWithNoReportConfigButIncludeDefaultEmptyEquivalents() { rws.ReportParameter p1 = new rws.ReportParameter(); p1.Name = "ParamOne"; p1.ValidValues = new rws.ValidValue[] { new rws.ValidValue() { Label = "--All--", Value = "%%" }, new rws.ValidValue() { Label = "Label1", Value = "Value1" }, new rws.ValidValue() { Label = "Label2", Value = "Value2" } }; p1.DefaultValues = new string[] { }; rws.ReportParameter[] paramArray = new rws.ReportParameter[] { p1 }; var configMock = MockRepository.GenerateMock <CrcExtraConfiguration>(); configMock.Expect(m => m.DefaultEmptyEquivalentValues).Return(new List <string>() { "", "%%" }); configMock.Expect(m => m.GetReportConfig(null)).IgnoreArguments().Return(null); // make main service obj var factory = new CrcReportDefinitionFactory(); var repDefn = factory.Create("TestReport", paramArray, configMock); Assert.IsNotNull(repDefn); Assert.AreEqual("TestReport", repDefn.ReportPath); Assert.AreEqual(1, repDefn.ParameterDefinitions.Count()); var p1check = repDefn.ParameterDefinitions.FirstOrDefault(p => p.Name == "ParamOne"); Assert.IsNotNull(p1check); Assert.AreEqual(3, p1check.ValidValues.Count()); Assert.IsTrue(p1check.EmptyEquivalentValues.Count() > 0); }
public void CanMakeReportAndDetectMultipickSelect() { rws.ReportParameter p1 = new rws.ReportParameter(); p1.Name = "ParamSelect"; p1.Nullable = false; p1.Type = rws.ParameterTypeEnum.String; p1.ValidValuesQueryBased = false; p1.ValidValues = new rws.ValidValue[] { new rws.ValidValue() { Label = "--All--", Value = "%%" }, new rws.ValidValue() { Label = "Label1", Value = "Value1" }, new rws.ValidValue() { Label = "Label2", Value = "Value2" } }; p1.MultiValue = true; rws.ReportParameter[] paramArray = new rws.ReportParameter[] { p1 }; var configMock = MockRepository.GenerateMock <CrcExtraConfiguration>(); // make main service obj var factory = new CrcReportDefinitionFactory(); var repDefn = factory.Create("TestReport", paramArray, configMock); Assert.IsNotNull(repDefn); Assert.AreEqual("TestReport", repDefn.ReportPath); Assert.AreEqual(1, repDefn.ParameterDefinitions.Count()); var p1check = repDefn.ParameterDefinitions.FirstOrDefault(p => p.Name == "ParamSelect"); Assert.IsNotNull(p1check); Assert.AreEqual(CrcParameterType.MultiSelect, p1check.ParameterType); }
public void CanMakeReportAndDetectBoolFieldWithYesNoValues() { rws.ReportParameter p1 = new rws.ReportParameter(); p1.Name = "ParamBool"; p1.Nullable = false; p1.Type = rws.ParameterTypeEnum.Boolean; p1.ValidValuesQueryBased = false; p1.ValidValues = new rws.ValidValue[] { new rws.ValidValue() { Label = "Yes", Value="true" }, new rws.ValidValue() { Label = "No", Value="false" }}; rws.ReportParameter[] paramArray = new rws.ReportParameter[] { p1 }; var configMock = MockRepository.GenerateMock<CrcExtraConfiguration>(); // make main service obj var factory = new CrcReportDefinitionFactory(); var repDefn = factory.Create("TestReport", paramArray, configMock); Assert.IsNotNull(repDefn); Assert.AreEqual("TestReport", repDefn.ReportPath); Assert.AreEqual(1, repDefn.ParameterDefinitions.Count()); var p1check = repDefn.ParameterDefinitions.FirstOrDefault(p => p.Name == "ParamBool"); Assert.IsNotNull(p1check); Assert.AreEqual(CrcParameterType.Select, p1check.ParameterType); Assert.AreEqual(2, p1check.ValidValues.Count()); var v1 = p1check.ValidValues.FirstOrDefault(v => v.Value == "true"); Assert.IsNotNull(v1); Assert.AreEqual("Yes" ,v1.Label); var v2 = p1check.ValidValues.FirstOrDefault(v => v.Value == "false"); Assert.IsNotNull(v2); Assert.AreEqual("No", v2.Label); }
public void CanMakeReportAndDetectNormalBoolField() { rws.ReportParameter p1 = new rws.ReportParameter(); p1.Name = "ParamBool"; p1.Nullable = false; p1.Type = rws.ParameterTypeEnum.Boolean; p1.ValidValuesQueryBased = false; p1.ValidValues = null; rws.ReportParameter[] paramArray = new rws.ReportParameter[] { p1 }; var configMock = MockRepository.GenerateMock<CrcExtraConfiguration>(); // make main service obj var factory = new CrcReportDefinitionFactory(); var repDefn = factory.Create("TestReport", paramArray, configMock); Assert.IsNotNull(repDefn); Assert.AreEqual("TestReport", repDefn.ReportPath); Assert.AreEqual(1, repDefn.ParameterDefinitions.Count()); var p1check = repDefn.ParameterDefinitions.FirstOrDefault(p => p.Name == "ParamBool"); Assert.IsNotNull(p1check); Assert.AreEqual(CrcParameterType.Boolean, p1check.ParameterType); }
public void CanMakeReportAndDetectNormalSelect() { rws.ReportParameter p1 = new rws.ReportParameter(); p1.Name = "ParamSelect"; p1.Nullable = false; p1.Type = rws.ParameterTypeEnum.String; p1.ValidValuesQueryBased = false; p1.ValidValues = new rws.ValidValue[]{ new rws.ValidValue(){Label = "--All--", Value = "%%"}, new rws.ValidValue(){Label = "Label1", Value = "Value1"}, new rws.ValidValue(){Label = "Label2", Value = "Value2"}}; rws.ReportParameter[] paramArray = new rws.ReportParameter[] { p1 }; var configMock = MockRepository.GenerateMock<CrcExtraConfiguration>(); // make main service obj var factory = new CrcReportDefinitionFactory(); var repDefn = factory.Create("TestReport", paramArray, configMock); Assert.IsNotNull(repDefn); Assert.AreEqual("TestReport", repDefn.ReportPath); Assert.AreEqual(1, repDefn.ParameterDefinitions.Count()); var p1check = repDefn.ParameterDefinitions.FirstOrDefault(p => p.Name == "ParamSelect"); Assert.IsNotNull(p1check); Assert.AreEqual(CrcParameterType.Select, p1check.ParameterType); }
public void CanMakeReportWithNoReportConfigButIncludeDefaultEmptyEquivalents() { rws.ReportParameter p1 = new rws.ReportParameter(); p1.Name = "ParamOne"; p1.ValidValues = new rws.ValidValue[]{ new rws.ValidValue(){Label = "--All--", Value = "%%"}, new rws.ValidValue(){Label = "Label1", Value = "Value1"}, new rws.ValidValue(){Label = "Label2", Value = "Value2"}}; p1.DefaultValues = new string[] { }; rws.ReportParameter[] paramArray = new rws.ReportParameter[] { p1}; var configMock = MockRepository.GenerateMock<CrcExtraConfiguration>(); configMock.Expect(m => m.DefaultEmptyEquivalentValues).Return(new List<string>() { "", "%%" }); configMock.Expect(m => m.GetReportConfig(null)).IgnoreArguments().Return(null); // make main service obj var factory = new CrcReportDefinitionFactory(); var repDefn = factory.Create("TestReport", paramArray, configMock); Assert.IsNotNull(repDefn); Assert.AreEqual("TestReport", repDefn.ReportPath); Assert.AreEqual(1, repDefn.ParameterDefinitions.Count()); var p1check = repDefn.ParameterDefinitions.FirstOrDefault(p => p.Name == "ParamOne"); Assert.IsNotNull(p1check); Assert.AreEqual(3, p1check.ValidValues.Count()); Assert.IsTrue(p1check.EmptyEquivalentValues.Count() > 0); }
public void CanMakeReportAndDetectEmptySelect() { // sometimes dependant selects can be empty at first // they are always query based though rws.ReportParameter p1 = new rws.ReportParameter(); p1.Name = "ParamSelect"; p1.Nullable = false; p1.Type = rws.ParameterTypeEnum.String; p1.ValidValuesQueryBased = true; p1.ValidValues = null; rws.ReportParameter[] paramArray = new rws.ReportParameter[] { p1 }; var configMock = MockRepository.GenerateMock<CrcExtraConfiguration>(); // make main service obj var factory = new CrcReportDefinitionFactory(); var repDefn = factory.Create("TestReport", paramArray, configMock); Assert.IsNotNull(repDefn); Assert.AreEqual("TestReport", repDefn.ReportPath); Assert.AreEqual(1, repDefn.ParameterDefinitions.Count()); var p1check = repDefn.ParameterDefinitions.FirstOrDefault(p => p.Name == "ParamSelect"); Assert.IsNotNull(p1check); Assert.AreEqual(CrcParameterType.Select, p1check.ParameterType); }
public void CanMakeReportAndApplyRequiredFromUserToMultipicks() { rws.ReportParameter p1 = new rws.ReportParameter(); p1.Name = "ParamWithDefault"; p1.ValidValues = new rws.ValidValue[]{ new rws.ValidValue(){Label = "--All--", Value = "%%"}, new rws.ValidValue(){Label = "Label1", Value = "Value1"}, new rws.ValidValue(){Label = "Label2", Value = "Value2"}}; p1.DefaultValues = new string[] {"%%"}; p1.Nullable = false; rws.ReportParameter p2 = new rws.ReportParameter(); p2.Name = "ParamWithoutDefault"; p2.ValidValues = new rws.ValidValue[]{ new rws.ValidValue(){Label = "Label3", Value = "Value3"}, new rws.ValidValue(){Label = "Label4", Value = "Value4"}}; p2.DefaultValues = new string[] { }; p2.Nullable = false; rws.ReportParameter[] paramArray = new rws.ReportParameter[] { p1, p2 }; var configMock = MockRepository.GenerateMock<CrcExtraConfiguration>(); // make main service obj var factory = new CrcReportDefinitionFactory(); var repDefn = factory.Create("TestReport", paramArray, configMock); Assert.IsNotNull(repDefn); Assert.AreEqual("TestReport", repDefn.ReportPath); Assert.AreEqual(2, repDefn.ParameterDefinitions.Count()); var p1check = repDefn.ParameterDefinitions.FirstOrDefault(p => p.Name == "ParamWithDefault"); Assert.IsNotNull(p1check); Assert.AreEqual(false, p1check.RequiredFromUser, "RequiredFromUser expected false"); var p2check = repDefn.ParameterDefinitions.FirstOrDefault(p => p.Name == "ParamWithoutDefault"); Assert.IsNotNull(p2check); Assert.AreEqual(true, p2check.RequiredFromUser, "RequiredFromUser expected true"); }