public void SummaryStatisticsPerPolygonErrorTest()
        {
            using (ShimsContext.Create())
            {
                // Arrange
                ResultController resultController = new ResultController();

                ShimControllerContextForLogin(true, resultController);

                SessionHandler.MySettings = new MySettings();
                SessionHandler.MySettings.Calculation.SummaryStatistics.CalculateNumberOfObservationsfromObsData = true;
                SessionHandler.MySettings.Calculation.SummaryStatistics.CalculateNumberOfSpeciesfromObsData      = true;
                SessionHandler.MySettings.Calculation.SummaryStatistics.WfsSummaryStatisticsLayerId = 0;
                SessionHandler.MySettings.Calculation.SummaryStatistics.IsActive = true;

                // Act
                // Get View
                var result = resultController.SummaryStatisticsPerPolygonTable();

                MakeGetCurrentUserFunctionCallThrowException();

                // Get json result from server
                JsonNetResult statResult = resultController.GetObservationsSummaryCountAsJSON();
                JsonModel     jsonResult = (JsonModel)statResult.Data;
                List <SpeciesObservationsCountPerPolygon> statisticsResult = (List <SpeciesObservationsCountPerPolygon>)jsonResult.Data;

                // Assert
                Assert.IsNotNull(result);
                Assert.AreEqual("Login to UserService or other service failed.", jsonResult.Msg);
            }
        }
        public void SummaryStatisticsNoDataTest()
        {
            // Arrange
            ResultController resultController = new ResultController();

            SessionHandler.MySettings = new MySettings();
            SessionHandler.MySettings.Calculation.SummaryStatistics.CalculateNumberOfObservationsfromObsData = false;
            SessionHandler.MySettings.Calculation.SummaryStatistics.CalculateNumberOfSpeciesfromObsData      = false;
            SessionHandler.MySettings.Calculation.SummaryStatistics.IsActive = true;

            // Act
            // Get View
            var result = resultController.SummaryStatisticsReport() as ViewResult;

            // Get json result from server
            JsonNetResult statResult = resultController.GetObservationsSummaryCountAsJSON();
            JsonModel     jsonResult = (JsonModel)statResult.Data;
            List <KeyValuePair <string, string> > statisticsResult = (List <KeyValuePair <string, string> >)jsonResult.Data;

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.ViewName.Equals("SummaryStatisticsReport"));

            Assert.IsNotNull(statResult);
            Assert.IsNotNull(jsonResult);
            Assert.IsTrue(jsonResult.Success);
            Assert.IsTrue(statisticsResult.Count == 0);
        }
        public void SummaryStatisticsErrorTest()
        {
            // Arrange
            ResultController resultController = new ResultController();

            SessionHandler.MySettings = new MySettings();
            SessionHandler.MySettings.Calculation.SummaryStatistics.CalculateNumberOfObservationsfromObsData = true;
            SessionHandler.MySettings.Calculation.SummaryStatistics.CalculateNumberOfSpeciesfromObsData      = true;
            SessionHandler.MySettings.Calculation.SummaryStatistics.IsActive = true;

            // Act
            MakeGetCurrentUserFunctionCallThrowException();

            // Get View
            var result = resultController.SummaryStatisticsReport() as ViewResult;

            // Get json result from server
            JsonNetResult statResult = resultController.GetObservationsSummaryCountAsJSON();
            JsonModel     jsonResult = (JsonModel)statResult.Data;

            // List<KeyValuePair<string, string>> statisticsResult = (List<KeyValuePair<string, string>>)jsonResult.Data;

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.ViewName.Equals("SummaryStatisticsReport"));
            Assert.AreEqual("Login to UserService or other service failed.", jsonResult.Msg);
        }
        public void SummaryStatisticsGetTest()
        {
            // Arrange
            ResultController resultController = new ResultController();

            SessionHandler.MySettings = new MySettings();
            SessionHandler.MySettings.Calculation.SummaryStatistics.CalculateNumberOfObservationsfromObsData = true;
            SessionHandler.MySettings.Calculation.SummaryStatistics.CalculateNumberOfSpeciesfromObsData      = true;
            SessionHandler.MySettings.Calculation.SummaryStatistics.IsActive = true;
            IList <int> taxonIds = new List <int>();

            taxonIds.Add(Convert.ToInt32(TaxonId.Butterflies));
            SessionHandler.MySettings.Filter.Taxa.AddTaxonIds(taxonIds);

            // Act
            // Get View
            var viewResult = resultController.Reports();

            var result = resultController.SummaryStatisticsReport() as ViewResult;

            // Get json result from server
            JsonNetResult statResult = resultController.GetObservationsSummaryCountAsJSON();
            JsonModel     jsonResult = (JsonModel)statResult.Data;
            List <KeyValuePair <string, string> > statisticsResult = (List <KeyValuePair <string, string> >)jsonResult.Data;

            // Assert
            Assert.IsNotNull(viewResult);
            Assert.IsNotNull(result);
            Assert.IsTrue(result.ViewName.Equals("SummaryStatisticsReport"));

            Assert.IsNotNull(statResult);
            Assert.IsNotNull(jsonResult);
            Assert.IsTrue(jsonResult.Success);
            Assert.IsTrue(statisticsResult.Count == 2);
            Assert.IsTrue(statisticsResult[0].Key != string.Empty);
            Assert.IsTrue(Convert.ToInt32(statisticsResult[0].Value) > 0);
            Assert.IsTrue(statisticsResult[1].Key != string.Empty);
            Assert.IsTrue(Convert.ToInt32(statisticsResult[1].Value) > 0);
        }