Ejemplo n.º 1
0
        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");
        }
Ejemplo n.º 2
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 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");
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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());
        }
Ejemplo n.º 6
0
        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");
        }
Ejemplo n.º 7
0
 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);
     }
 }
Ejemplo n.º 8
0
        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);
        }
Ejemplo n.º 9
0
        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);
        }
Ejemplo n.º 10
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);
        }
Ejemplo n.º 12
0
        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 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");
        }