Ejemplo n.º 1
0
        public void CanMakeSimpleReportWithCatalogItem()
        {
            var mf         = new TestDoubles.MockSsrsWebServiceFactory();
            var paramArray = mf.MakeSimpleTestParameters();

            var configMock = MockRepository.GenerateMock <CrcExtraConfiguration>();

            rws.CatalogItem catItem = new rws.CatalogItem()
            {
                Path        = "TestReport",
                Name        = "TestReportName",
                Description = "TestReportDescription"
            };

            // make main service obj
            var factory = new CrcReportDefinitionFactory();
            var repDefn = factory.Create("TestReport", catItem, paramArray, configMock);


            Assert.IsNotNull(repDefn);
            Assert.AreEqual("TestReport", repDefn.ReportPath);
            Assert.AreEqual("TestReportName", repDefn.DisplayName);
            Assert.AreEqual("TestReportDescription", repDefn.Description);
            Assert.AreEqual(2, repDefn.ParameterDefinitions.Count());
            var p1check = repDefn.ParameterDefinitions.FirstOrDefault(p => p.Name == "ParamOne");

            Assert.IsNotNull(p1check);
            Assert.AreEqual(2, p1check.ValidValues.Count());
            var p2check = repDefn.ParameterDefinitions.FirstOrDefault(p => p.Name == "ParamTwo");

            Assert.IsNotNull(p2check);
            Assert.AreEqual(2, p2check.ValidValues.Count());
        }
Ejemplo n.º 2
0
        public void CanMakeReportWithExtraConfigSpecificEmptyEquivalents()
        {
            var mf         = new TestDoubles.MockSsrsWebServiceFactory();
            var paramArray = mf.MakeSimpleTestParameters();

            var extraConfig = new CrcExtraConfiguration();
            var repConfig   = new CrcReportConfig();

            repConfig.Path            = "TestReport";
            repConfig.CrcParamConfigs = new List <CrcReportConfig.CrcParamConfig>();
            repConfig.CrcParamConfigs.Add(new CrcReportConfig.CrcParamConfig()
            {
                ParamName             = "ParamOne",
                EmptyEquivalentValues = new List <string>()
                {
                    "Value1"
                }
            });
            extraConfig.CrcReportConfigs.Add(repConfig);

            // make main service obj
            var factory = new CrcReportDefinitionFactory();
            var repDefn = factory.Create("TestReport", paramArray, extraConfig);


            Assert.IsNotNull(repDefn);
            Assert.AreEqual("TestReport", repDefn.ReportPath);
            Assert.AreEqual(2, repDefn.ParameterDefinitions.Count());
            var p1check = repDefn.ParameterDefinitions.FirstOrDefault(p => p.Name == "ParamOne");

            Assert.IsNotNull(p1check);
            Assert.AreEqual(1, p1check.EmptyEquivalentValues.Count());
            Assert.IsTrue(p1check.EmptyEquivalentValues.Contains("Value1"));
        }
Ejemplo n.º 3
0
        public void CanMakeSimpleReportWithDefaultDate()
        {
            // test to catch default date formatting bug

            var mf         = new TestDoubles.MockSsrsWebServiceFactory();
            var paramArray = mf.MakeDateTestParameters();

            // set a default date in the format that comes out of ssrs
            paramArray[0].DefaultValues = new string[] { "2/1/2010 12:00:00 AM" };

            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 == "ParamOne");

            Assert.IsNotNull(p1check);
            Assert.AreEqual("2010-02-01", p1check.ParameterChoice.SingleValue);
            var p2check = repDefn.ParameterDefinitions.FirstOrDefault(p => p.Name == "ParamTwo");

            Assert.IsNotNull(p2check);
            Assert.IsNull(p2check.ParameterChoice.SingleValue);
        }
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 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);
        }
Ejemplo n.º 6
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.º 7
0
        public void CanMakeReportAndIgnoreSSRSDependencies()
        {
            var mf         = new TestDoubles.MockSsrsWebServiceFactory();
            var paramArray = mf.MakeDependantTestParameters();

            var configMock = MockRepository.GenerateMock <CrcExtraConfiguration>();

            configMock.Expect(m => m.IgnoreSsrsParameterDependencies).Return(true);

            // 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(3, repDefn.ParameterDefinitions.Count());
            var p1check = repDefn.ParameterDefinitions.FirstOrDefault(p => p.Name == "ParamOne");

            Assert.IsNotNull(p1check);
            Assert.AreEqual(0, p1check.DependantParameterNames.Count());

            var p2check = repDefn.ParameterDefinitions.FirstOrDefault(p => p.Name == "ParamTwo");

            Assert.IsNotNull(p2check);
            Assert.AreEqual(0, p2check.DependantParameterNames.Count());

            var p3check = repDefn.ParameterDefinitions.FirstOrDefault(p => p.Name == "ParamThree");

            Assert.IsNotNull(p3check);
            Assert.AreEqual(0, p3check.DependantParameterNames.Count());
        }
Ejemplo n.º 8
0
        public void CanMakeSimpleReportWithNullDefaults()
        {
            var mf         = new TestDoubles.MockSsrsWebServiceFactory();
            var paramArray = mf.MakeSimpleTestParameters();

            paramArray[0].DefaultValues = null;

            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 == "ParamOne");

            Assert.IsNotNull(p1check);
            Assert.AreEqual(2, p1check.ValidValues.Count());
            var p2check = repDefn.ParameterDefinitions.FirstOrDefault(p => p.Name == "ParamTwo");

            Assert.IsNotNull(p2check);
            Assert.AreEqual(2, p2check.ValidValues.Count());
        }
Ejemplo n.º 9
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.º 10
0
        public void CanMakeReportWithExtraConfigDependants()
        {
            var mf         = new TestDoubles.MockSsrsWebServiceFactory();
            var paramArray = mf.MakeDependantTestParameters();

            var configMock = MockRepository.GenerateMock <CrcExtraConfiguration>();
            var repConfig  = new CrcReportConfig();

            repConfig.Path            = "TestReport";
            repConfig.CrcParamConfigs = new List <CrcReportConfig.CrcParamConfig>();
            repConfig.CrcParamConfigs.Add(new CrcReportConfig.CrcParamConfig()
            {
                ParamName       = "ParamOne",
                DependantParams = new List <string>()
                {
                    "ParamThree"
                }
            });
            configMock.Expect(m => m.GetReportConfig(null)).IgnoreArguments().Return(repConfig);
            configMock.Expect(m => m.DefaultEmptyEquivalentValues).Return(new List <string>());

            // 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(3, repDefn.ParameterDefinitions.Count());
            var p1check = repDefn.ParameterDefinitions.FirstOrDefault(p => p.Name == "ParamOne");

            Assert.IsNotNull(p1check);
            Assert.AreEqual(1, p1check.DependantParameterNames.Count());
            Assert.IsTrue(p1check.DependantParameterNames.Contains("ParamThree"));

            var p2check = repDefn.ParameterDefinitions.FirstOrDefault(p => p.Name == "ParamTwo");

            Assert.IsNotNull(p2check);
            Assert.AreEqual(0, p2check.DependantParameterNames.Count());

            var p3check = repDefn.ParameterDefinitions.FirstOrDefault(p => p.Name == "ParamThree");

            Assert.IsNotNull(p3check);
            Assert.AreEqual(0, p3check.DependantParameterNames.Count());
        }
Ejemplo n.º 11
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.º 12
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.º 13
0
        public void CanMakeReportWithHintFromExtraConfig()
        {
            var mf         = new TestDoubles.MockSsrsWebServiceFactory();
            var paramArray = mf.MakeSimpleTestParameters();

            var configMock = MockRepository.GenerateMock <CrcExtraConfiguration>();
            var repConfig  = new CrcReportConfig();

            repConfig.Path       = "TestReport";
            repConfig.ReportHint = "This is a report hint";
            configMock.Expect(m => m.GetReportConfig(null)).IgnoreArguments().Return(repConfig);

            // 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("This is a report hint", repDefn.ReportHint);
        }
Ejemplo n.º 14
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);
        }