示例#1
0
        public void CanMapMultiSelectParam()
        {
            var repDefn     = this.MakeTestReportDefn();
            var choiceColl  = new CrcParameterChoiceCollection();
            var multiSelect = new CrcParameterChoice();

            multiSelect.Name   = "PretendMultiSelect";
            multiSelect.Values = new List <string>()
            {
                "M2", "M3"
            };

            choiceColl.ParameterChoiceList.Add(multiSelect);

            var mapper    = new CrcParameterChoiceMapper();
            var mapResult = mapper.MapParameterChoices(repDefn, choiceColl);

            Assert.IsTrue(mapResult.MappingValid);
            Assert.AreEqual(0, mapResult.Complaints.Count());

            var multiParamDefn = repDefn.ParameterDefinitions.FirstOrDefault(p => p.Name == "PretendMultiSelect");

            Assert.IsNotNull(multiParamDefn);
            Assert.IsNotNull(multiParamDefn.ParameterChoice);
            Assert.AreEqual(2, multiParamDefn.ParameterChoice.Values.Count());
            Assert.IsNotNull(multiParamDefn.ParameterChoice.Values.FirstOrDefault(v => v == "M2"));
            Assert.IsNotNull(multiParamDefn.ParameterChoice.Values.FirstOrDefault(v => v == "M3"));
        }
示例#2
0
        public void CanMapDetectWrongName()
        {
            var repDefn     = this.MakeTestReportDefn();
            var choiceColl  = new CrcParameterChoiceCollection();
            var multiSelect = new CrcParameterChoice();

            multiSelect.Name   = "WrongName";
            multiSelect.Values = new List <string>()
            {
                "M2", "M3"
            };

            choiceColl.ParameterChoiceList.Add(multiSelect);

            var mapper    = new CrcParameterChoiceMapper();
            var mapResult = mapper.MapParameterChoices(repDefn, choiceColl);

            Assert.IsFalse(mapResult.MappingValid);
            Assert.IsTrue(mapResult.Complaints.Contains("Param WrongName not found"));
        }
示例#3
0
        public void CanMapDateParam()
        {
            var repDefn    = this.MakeTestReportDefn();
            var choiceColl = new CrcParameterChoiceCollection();
            var dateChoice = new CrcParameterChoice();

            dateChoice.Name        = "PretendDateParam";
            dateChoice.SingleValue = "2010-06-02";
            choiceColl.ParameterChoiceList.Add(dateChoice);

            var mapper    = new CrcParameterChoiceMapper();
            var mapResult = mapper.MapParameterChoices(repDefn, choiceColl);

            Assert.IsTrue(mapResult.MappingValid);
            Assert.AreEqual(0, mapResult.Complaints.Count());

            var dateParamDefn = repDefn.ParameterDefinitions.FirstOrDefault(p => p.Name == "PretendDateParam");

            Assert.IsNotNull(dateParamDefn);
            Assert.IsNotNull(dateParamDefn.ParameterChoice);
            Assert.AreEqual("2010-06-02", dateParamDefn.ParameterChoice.SingleValue);
        }
示例#4
0
        public void CanMapSingleSelectParam()
        {
            var repDefn      = this.MakeTestReportDefn();
            var choiceColl   = new CrcParameterChoiceCollection();
            var singleSelect = new CrcParameterChoice();

            singleSelect.Name        = "PretendSingleSelect";
            singleSelect.SingleValue = "S2";
            choiceColl.ParameterChoiceList.Add(singleSelect);

            var mapper    = new CrcParameterChoiceMapper();
            var mapResult = mapper.MapParameterChoices(repDefn, choiceColl);

            Assert.IsTrue(mapResult.MappingValid);
            Assert.AreEqual(0, mapResult.Complaints.Count());

            var singleParamDefn = repDefn.ParameterDefinitions.FirstOrDefault(p => p.Name == "PretendSingleSelect");

            Assert.IsNotNull(singleParamDefn);
            Assert.IsNotNull(singleParamDefn.ParameterChoice);
            Assert.AreEqual("S2", singleParamDefn.ParameterChoice.SingleValue);
        }
        public void CanRefreshDependantParameters_Simple()
        {
            // make report defn
            var repDefn = new CrcReportDefinition();

            repDefn.ReportPath = "Test/Report";
            var pd1 = new CrcParameterDefinition();

            pd1.Name = "ParamOne";
            pd1.ValidValues.Add(new CrcValidValue()
            {
                Label = "Label1", Value = "Value1"
            });
            pd1.ValidValues.Add(new CrcValidValue()
            {
                Label = "Label2", Value = "Value2"
            });
            pd1.ValidValues.Add(new CrcValidValue()
            {
                Label = "Label3", Value = "Value3"
            });
            pd1.DependantParameterNames.Add("ParamTwo");
            var pd2 = new CrcParameterDefinition();

            pd2.Name = "ParamTwo";
            pd2.ValidValues.Add(new CrcValidValue()
            {
                Label = "SubLabel1_1", Value = "SubValue1_1"
            });
            pd2.ValidValues.Add(new CrcValidValue()
            {
                Label = "SubLabel1_2", Value = "SubValue1_2"
            });
            pd2.ValidValues.Add(new CrcValidValue()
            {
                Label = "SubLabel2_1", Value = "SubValue2_1"
            });
            pd2.ValidValues.Add(new CrcValidValue()
            {
                Label = "SubLabel2_2", Value = "SubValue2_2"
            });
            pd2.ValidValues.Add(new CrcValidValue()
            {
                Label = "SubLabel3_1", Value = "SubValue3_1"
            });
            repDefn.ParameterDefinitions.Add(pd1);
            repDefn.ParameterDefinitions.Add(pd2);


            // make choice collection
            var choiceCollection = new CrcParameterChoiceCollection();
            var paramChoice      = new CrcParameterChoice("ParamOne");

            paramChoice.Values.Add("Value2");
            choiceCollection.ParameterChoiceList.Add(paramChoice);

            // make server side params to return
            ItemParameter p1 = new ItemParameter();

            p1.Name        = "ParamOne";
            p1.ValidValues = new ValidValue[] { new ValidValue()
                                                {
                                                    Label = "Label1", Value = "Value1"
                                                },
                                                new ValidValue()
                                                {
                                                    Label = "Label2", Value = "Value2"
                                                },
                                                new ValidValue()
                                                {
                                                    Label = "Label3", Value = "Value3"
                                                } };
            p1.DefaultValues = new string[] { };
            ItemParameter p2 = new ItemParameter();

            p2.Name        = "ParamTwo";
            p2.ValidValues = new ValidValue[] { new ValidValue()
                                                {
                                                    Label = "SubLabel2_1", Value = "SubValue2_1"
                                                },
                                                new ValidValue()
                                                {
                                                    Label = "SubLabel2_2", Value = "SubValue2_2"
                                                } };
            p2.DefaultValues = new string[] { };
            ItemParameter[] paramArrayToReturn = new ItemParameter[] { p1, p2 };


            // make mocks for ccs
            var mf = new TestDoubles.MockSsrsWebServiceFactory();
            var soapClientFactory = mf.MakeMockSoapClientFactory(
                mf.MakeMockReportingService2010Soap("Value2", paramArrayToReturn));

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

            // make ccs
            var ccs = new CrissCrossServices(soapClientFactory, cacheMock, configMock, null);


            ccs.RefreshDependantParameters(repDefn, choiceCollection);

            Assert.AreEqual(2, repDefn.ParameterDefinitions.Count());
            var pd1check = repDefn.ParameterDefinitions.FirstOrDefault(p => p.Name == "ParamOne");

            Assert.IsNotNull(pd1check);
            Assert.AreEqual("Value2", pd1check.ParameterChoice.SingleValue);
            var pd2check = repDefn.ParameterDefinitions.FirstOrDefault(p => p.Name == "ParamTwo");

            Assert.IsNotNull(pd2check);
            Assert.AreEqual(2, pd2check.ValidValues.Count());
            Assert.IsNotNull(pd2check.ValidValues.FirstOrDefault(vv => vv.Value == "SubValue2_1"));
            Assert.IsNotNull(pd2check.ValidValues.FirstOrDefault(vv => vv.Value == "SubValue2_2"));
        }