Exemplo n.º 1
0
        protected override void Initialize()
        {
            base.Initialize();
            _mockHistoryManager = new Mock <IHistoryManager>();

            _manager = new ReportElementManager(
                _mockHistoryManager.Object,
                mockUnitOfWork.Object,
                mockMapper.Object);

            _reportElement = new ReportElement
            {
                Id     = 1,
                Hours  = Domain.Core.Model.Enums.ReportElementHours.Hour168,
                Sensor = new Sensor()
                {
                    Id = 1, Name = "Sensor1"
                },
                SensorId = 1
            };

            reportElements = new List <ReportElement>()
            {
                new ReportElement {
                    Id     = 1,
                    Hours  = Domain.Core.Model.Enums.ReportElementHours.Hour168,
                    Sensor = new Sensor()
                    {
                        Id = 1, Name = "Sensor1"
                    },
                    Dashboard = new Dashboard()
                    {
                        Id = 1, Name = "Dashboard1"
                    },
                    SensorId = 1
                },
                new ReportElement {
                    Id     = 2,
                    Hours  = Domain.Core.Model.Enums.ReportElementHours.Hour168,
                    Sensor = new Sensor()
                    {
                        Id = 2, Name = "Sensor2"
                    },
                    Dashboard = new Dashboard()
                    {
                        Id = 1, Name = "Dashboard1"
                    },
                    Type     = ReportElementType.Wordcloud,
                    SensorId = 2
                }
            };

            histories = new List <History>()
            {
                new History {
                    Id     = 1,
                    Date   = DateTimeOffset.Now.AddDays(-(int)_reportElement.Hours),
                    Sensor = new Sensor()
                    {
                        Id = 5, Name = "Sensor5", SensorType = new SensorType()
                        {
                            MeasurementType = Domain.Core.Model.Enums.MeasurementType.Bool
                        }
                    },
                    BoolValue = true
                },
                new History {
                    Id     = 2,
                    Date   = new DateTimeOffset(),
                    Sensor = new Sensor()
                    {
                        Id = 1, Name = "Sensor1", SensorType = new SensorType()
                        {
                            MeasurementType = Domain.Core.Model.Enums.MeasurementType.Int
                        }
                    },
                    IntValue = 2
                },
                new History {
                    Id     = 3,
                    Date   = new DateTimeOffset(),
                    Sensor = new Sensor()
                    {
                        Id = 2, Name = "Sensor2", SensorType = new SensorType()
                        {
                            MeasurementType = Domain.Core.Model.Enums.MeasurementType.Int
                        }
                    },
                    IntValue = 3
                },
                new History {
                    Id     = 4,
                    Date   = DateTimeOffset.Now.AddDays(-(int)_reportElement.Hours),
                    Sensor = new Sensor()
                    {
                        Id = 3, Name = "Sensor3", SensorType = new SensorType()
                        {
                            MeasurementType = Domain.Core.Model.Enums.MeasurementType.Int
                        }
                    },
                    IntValue = 3
                }
            };

            mockUnitOfWork.Setup(u => u.ReportElementRepo
                                 .GetById(It.IsAny <int>()))
            .Returns((int i) =>
                     Task.FromResult(reportElements.Where(x => x.Id == i).FirstOrDefault()));

            mockUnitOfWork.Setup(u => u.HistoryRepo
                                 .GetHistoriesBySensorIdAndDate(It.IsAny <int>(), It.IsAny <DateTimeOffset>()))
            .Returns((int i, DateTimeOffset date) =>
                     Task.FromResult(histories.Where(x => x.Id == i && x.Date == date)));

            mockUnitOfWork.Setup(u => u.HistoryRepo
                                 .GetAvgSensorsValuesPerDays(It.IsAny <int>(), It.IsAny <DateTime>(), It.IsAny <DateTime>()))
            .Returns(Task.FromResult <IEnumerable <AvgSensorValuePerDay> >(new List <AvgSensorValuePerDay> {
                _avgSensorValuePerDay
            }));

            _reportElementDto = new ReportElementDto
            {
                Id            = 1,
                Hours         = Domain.Core.Model.Enums.ReportElementHours.Hour168,
                DashboardId   = 1,
                SensorId      = 1,
                Type          = ReportElementType.Wordcloud,
                IsActive      = true,
                IsLocked      = true,
                DashboardName = "DashboardTest"
            };

            _gaugeDto = new GaugeDto
            {
                Id              = 1,
                Hours           = Domain.Core.Model.Enums.ReportElementHours.Hour168,
                SensorId        = 1,
                SensorName      = "Sensor1",
                MeasurementName = "*C"
            };

            _historyDto = new HistoryDto
            {
                Id       = 3,
                Date     = new DateTimeOffset(),
                IntValue = 3
            };

            _avgSensorValuePerDay = new AvgSensorValuePerDay()
            {
                WeekDay  = DateTime.Now,
                AvgValue = 3
            };

            _boolValuePercentagePerHour = new BoolValuePercentagePerHour()
            {
                DayDate        = DateTime.Now,
                HourTime       = DateTime.Now.Hour,
                TrueCount      = 1,
                TrueFalseCount = 2,
                TruePercentage = 50
            };
        }