コード例 #1
0
        public async Task GetLastAllDaysReportTest()
        {
            //Arrange
            var domainReport    = new DomainReport();
            var reportEntityAll = new StandardReportV3Entity()
            {
                Interval = "All"
            };
            var repository = new Mock <IRepository <StandardReportV3Entity> >();

            var repositoryFactory = new Mock <IRepositoryFactory>();
            var valueConverter    = new Mock <ITableValueConverter>();
            var mapper            = new Mock <IReportMapper>();

            repositoryFactory.Setup(m => m.Create <StandardReportV3Entity>(Tables.StandardReportV3)).Returns(repository.Object);
            repository.Setup(m => m.GetLastReport(It.Is <ReportQueryObject>(p => p.Interval == "All"))).Returns(async() => reportEntityAll);
            mapper.Setup(m => m.ReportEntityToDomain(reportEntityAll)).Returns(domainReport);

            var standardReportService = new StandardReportService(repositoryFactory.Object, valueConverter.Object, mapper.Object);

            //Act
            var report = await standardReportService.GetLastAllDaysReport();

            //Assert
            Assert.AreEqual(domainReport, report);
        }
コード例 #2
0
        public void GetDayReportsTest()
        {
            //Arrange
            var startDate  = new DateTime(123214);
            var finishDate = new DateTime(234567);
            var interval   = new Interval()
            {
                Start = startDate, Finish = finishDate
            };

            var repositoryFactory   = new Mock <IRepositoryFactory>();
            var tableValueConverter = new Mock <ITableValueConverter>();
            var mapper = new Mock <IReportMapper>();

            var reportEntity1_1 = new StandardReportV3Entity()
            {
                Tick = Tick1, Interval = "1"
            };
            var reportEntity2_1 = new StandardReportV3Entity()
            {
                Tick = Tick2, Interval = "1"
            };

            var domainReport1 = new DomainReport();
            var domainReport2 = new DomainReport();

            var reportEntities = new List <StandardReportV3Entity>()
            {
                reportEntity1_1,
                reportEntity2_1,
            };

            var repository = new Mock <IRepository <StandardReportV3Entity> >();

            repository.Setup(m => m.GetReportEntities(It.Is <ReportQueryObject>(p => p.StartInterval == Tick2 &&
                                                                                p.EndInterval == Tick1 &&
                                                                                p.IsStartInclude == true &&
                                                                                p.IsEndInclude == false &&
                                                                                p.Interval == "1")))
            .Returns(reportEntities);
            tableValueConverter.Setup(m => m.DateTimeToTick(startDate)).Returns(Tick2);
            tableValueConverter.Setup(m => m.DateTimeToTick(finishDate)).Returns(Tick1);
            repositoryFactory.Setup(m => m.Create <StandardReportV3Entity>(Tables.StandardReportV3)).Returns(repository.Object);
            mapper.Setup(m => m.ReportEntityToDomain(reportEntity1_1)).Returns(domainReport1);
            mapper.Setup(m => m.ReportEntityToDomain(reportEntity2_1)).Returns(domainReport2);

            var reportService = new StandardReportService(repositoryFactory.Object, tableValueConverter.Object, mapper.Object);

            //Act
            var reports = reportService.GetDayReports(interval).ToList();

            //Assert
            Assert.AreEqual(2, reports.Count);
            CollectionAssert.Contains(reports, domainReport1);
            CollectionAssert.Contains(reports, domainReport2);
        }
コード例 #3
0
        public async Task <DomainReport> GetLastAllDaysReport()
        {
            var queryObject = new ReportQueryObject
            {
                Interval = "All"
            };

            StandardReportV3Entity entity = await _repository.GetLastReport(queryObject);

            DomainReport domain = entity == null ? new DomainReport() : _reportMapper.ReportEntityToDomain(entity);

            return(domain);
        }
コード例 #4
0
        public async Task GetReportsTest()
        {
            //Arrange
            const string tick     = "tick";
            var          dateTime = new DateTime(2013, 03, 25, 2, 35, 10);

            var repositoryFactory = new Mock <IRepositoryFactory>();
            var valueConverter    = new Mock <ITableValueConverter>();
            var mapper            = new Mock <IReportMapper>();

            var reportEntity = new StandardReportV3Entity()
            {
                Tick = tick
            };
            var domainReport   = new DomainReport();
            var reportEntities = new List <StandardReportV3Entity>()
            {
                new StandardReportV3Entity(), reportEntity
            };
            var domainReports = new List <DomainReport>()
            {
                domainReport
            };

            var fakeRepository = new FakeRepository <StandardReportV3Entity>(reportEntities);

            valueConverter.Setup(m => m.DateTimeToTick(dateTime)).Returns(tick);
            repositoryFactory.Setup(m => m.Create <StandardReportV3Entity>(Tables.StandardReportV3)).Returns(fakeRepository);
            mapper.Setup(m => m.ReportEntityToDomain(reportEntity)).Returns(domainReport);

            var reportService = new StandardReportService(repositoryFactory.Object, valueConverter.Object, mapper.Object);

            //Act
            var reports = await reportService.GetReports(dateTime);

            //Assert
            Assert.AreEqual(1, reports.Count);
            Assert.AreEqual(domainReports[0], reports[0]);
        }
コード例 #5
0
        public async Task WriteReportsTest()
        {
            //Arrange
            const string tick     = "tick";
            var          dateTime = new DateTime(2013, 03, 25, 2, 35, 10);

            var repositoryFactory = new Mock <IRepositoryFactory>();
            var valueConverter    = new Mock <ITableValueConverter>();
            var mapper            = new Mock <IReportMapper>();

            var reportEntity1  = new StandardReportV3Entity();
            var reportEntity2  = new StandardReportV3Entity();
            var domainReport1  = new DomainReport();
            var domainReport2  = new DomainReport();
            var reportEntities = new List <StandardReportV3Entity>();
            var domainReports  = new List <DomainReport>()
            {
                domainReport1, domainReport2
            };

            var fakeRepository = new FakeRepository <StandardReportV3Entity>(reportEntities);

            valueConverter.Setup(m => m.DateTimeToTick(dateTime)).Returns(tick);
            repositoryFactory.Setup(m => m.Create <StandardReportV3Entity>(Tables.StandardReportV3)).Returns(fakeRepository);
            mapper.Setup(m => m.DomainReportToEntity(domainReport1, tick)).Returns(reportEntity1);
            mapper.Setup(m => m.DomainReportToEntity(domainReport2, tick)).Returns(reportEntity2);

            var reportService = new StandardReportService(repositoryFactory.Object, valueConverter.Object, mapper.Object);

            //Act
            await reportService.WriteReports(domainReports, dateTime);

            //Assert
            Assert.AreEqual(2, reportEntities.Count);
            CollectionAssert.Contains(reportEntities, reportEntity1);
            CollectionAssert.Contains(reportEntities, reportEntity2);
        }
コード例 #6
0
        public async Task   DeleteReportsTest()
        {
            //Arrange
            const string tick     = "tick";
            var          dateTime = new DateTime(2013, 03, 25, 2, 35, 10);

            var repositoryFactory = new Mock <IRepositoryFactory>();
            var valueConverter    = new Mock <ITableValueConverter>();
            var mapper            = new Mock <IReportMapper>();

            var reportEntity1 = new StandardReportV3Entity();
            var reportEntity2 = new StandardReportV3Entity();
            var domainReport1 = new DomainReport();
            var domainReport2 = new DomainReport();
            var domainReports = new List <DomainReport>()
            {
                domainReport1, domainReport2
            };

            var repository = new Mock <IRepository <StandardReportV3Entity> >();

            valueConverter.Setup(m => m.DateTimeToTick(dateTime)).Returns(tick);
            repositoryFactory.Setup(m => m.Create <StandardReportV3Entity>(Tables.StandardReportV3)).Returns(repository.Object);
            repository.Setup(m => m.DeleteAsync(It.IsAny <IEnumerable <StandardReportV3Entity> >(), It.IsAny <CancellationToken>())).Returns(async() => { });
            mapper.Setup(m => m.DomainReportToEntity(domainReport1, tick)).Returns(reportEntity1);
            mapper.Setup(m => m.DomainReportToEntity(domainReport2, tick)).Returns(reportEntity2);

            var reportService = new StandardReportService(repositoryFactory.Object, valueConverter.Object, mapper.Object);

            //Act
            await reportService.DeleteReports(domainReports, dateTime);

            //Assert
            repository.Verify(m => m.DeleteAsync(It.Is <IEnumerable <StandardReportV3Entity> >(c => c.Contains(reportEntity1)), It.IsAny <CancellationToken>()), Times.Once());
            repository.Verify(m => m.DeleteAsync(It.Is <IEnumerable <StandardReportV3Entity> >(c => c.Contains(reportEntity2)), It.IsAny <CancellationToken>()), Times.Once());
        }
コード例 #7
0
        public void ReportEntityToDomainTest()
        {
            //Arrange
            var dateTime = new DateTime(664245234232223465);

            var reportEntity = new StandardReportV3Entity()
            {
                Tick                           = "35467568756658785",
                Interval                       = "interval",
                AllRegistrations               = 12,
                CicIPadDeletions               = 23,
                CicIPadRegistrations           = 34,
                CicIPadSuccessfulUploads       = 45,
                CicIPadUploadCancels           = 445,
                CicMacDeletions                = 56,
                CicMacRegistrations            = 67,
                CicMacSuccessfulUploads        = 78,
                CicMacUploadCancels            = 778,
                CicPcDeletions                 = 89,
                CicPcRegistrations             = 90,
                CicPcSuccessfulUploads         = 123,
                CicPcUploadCancels             = 1123,
                EmailRegistrations             = 234,
                EmbeddedViews                  = 345,
                FacebookRegistrations          = 456,
                GoogleRegistrations            = 567,
                TaggerIPhoneDeletions          = 678,
                TaggerIPhoneRegistrations      = 789,
                TaggerIPhoneSuccessfulUploads  = 890,
                TaggerIPhoneUploadCancels      = 990,
                TotalViews                     = 901,
                WindowsLiveRegistrations       = 1234,
                YahooRegistrations             = 2345,
                ImageShackDeletions            = 11,
                ImageShackRegistrations        = 22,
                ImageShackSuccessfulUploads    = 33,
                ImageShackUploadCancels        = 44,
                TwitterRegistrations           = 111,
                BrowserRegistrations           = 112,
                OtherRegistrations             = 113,
                PlayerDeletions                = 114,
                PlayerRegistrations            = 115,
                PlayerSuccessfulUploads        = 116,
                PlayerUploadCancels            = 117,
                StandaloneDeletions            = 118,
                StandaloneRegistrations        = 119,
                StandaloneSuccessfulUploads    = 221,
                StandaloneUploadCancels        = 223,
                TaggerAndroidDeletions         = 224,
                TaggerAndroidRegistrations     = 225,
                TaggerAndroidSuccessfulUploads = 226,
                TaggerAndroidUploadCancels     = 227,
                DailyMotionDeletions           = 228,
                DailyMotionRegistrations       = 229,
                DailyMotionSuccessfulUploads   = 331,
                DailyMotionUploadCancels       = 332,
                VkRegistrations                = 333,
                JwPlayerDeletions              = 334,
                JwPlayerRegistrations          = 335,
                JwPlayerSuccessfulUploads      = 336,
                JwPlayerUploadCancels          = 337,
                OdnoklassnikiRegistrations     = 448
            };

            _tableValueConverter.Setup(m => m.TickToDateTime(reportEntity.Tick)).Returns(dateTime);

            var mapper = new ReportMapper(_tableValueConverter.Object);

            //Act
            var domainReport = mapper.ReportEntityToDomain(reportEntity);

            //Assert
            Assert.AreEqual(dateTime, domainReport.Tick);
            Assert.AreEqual(reportEntity.Interval, domainReport.Interval);
            Assert.AreEqual(reportEntity.AllRegistrations, domainReport.AllRegistrations);
            Assert.AreEqual(reportEntity.CicIPadDeletions, domainReport.CicIPadDeletions);
            Assert.AreEqual(reportEntity.CicIPadRegistrations, domainReport.CicIPadRegistrations);
            Assert.AreEqual(reportEntity.CicIPadSuccessfulUploads, domainReport.CicIPadSuccessfulUploads);
            Assert.AreEqual(reportEntity.CicIPadUploadCancels, domainReport.CicIPadUploadCancels);
            Assert.AreEqual(reportEntity.CicMacDeletions, domainReport.CicMacDeletions);
            Assert.AreEqual(reportEntity.CicMacRegistrations, domainReport.CicMacRegistrations);
            Assert.AreEqual(reportEntity.CicMacSuccessfulUploads, domainReport.CicMacSuccessfulUploads);
            Assert.AreEqual(reportEntity.CicMacUploadCancels, domainReport.CicMacUploadCancels);
            Assert.AreEqual(reportEntity.CicPcDeletions, domainReport.CicPcDeletions);
            Assert.AreEqual(reportEntity.CicPcRegistrations, domainReport.CicPcRegistrations);
            Assert.AreEqual(reportEntity.CicPcSuccessfulUploads, domainReport.CicPcSuccessfulUploads);
            Assert.AreEqual(reportEntity.CicPcUploadCancels, domainReport.CicPcUploadCancels);
            Assert.AreEqual(reportEntity.EmailRegistrations, domainReport.EmailRegistrations);
            Assert.AreEqual(reportEntity.EmbeddedViews, domainReport.EmbeddedViews);
            Assert.AreEqual(reportEntity.FacebookRegistrations, domainReport.FacebookRegistrations);
            Assert.AreEqual(reportEntity.GoogleRegistrations, domainReport.GoogleRegistrations);
            Assert.AreEqual(reportEntity.TaggerIPhoneDeletions, domainReport.TaggerIPhoneDeletions);
            Assert.AreEqual(reportEntity.TaggerIPhoneRegistrations, domainReport.TaggerIPhoneRegistrations);
            Assert.AreEqual(reportEntity.TaggerIPhoneSuccessfulUploads, domainReport.TaggerIPhoneUploads);
            Assert.AreEqual(reportEntity.TaggerIPhoneUploadCancels, domainReport.TaggerIPhoneUploadCancels);
            Assert.AreEqual(reportEntity.TotalViews, domainReport.TotalViews);
            Assert.AreEqual(reportEntity.WindowsLiveRegistrations, domainReport.WindowsLiveRegistrations);
            Assert.AreEqual(reportEntity.YahooRegistrations, domainReport.YahooRegistrations);
            Assert.AreEqual(reportEntity.ImageShackDeletions, domainReport.ImageShackDeletions);
            Assert.AreEqual(reportEntity.ImageShackRegistrations, domainReport.ImageShackRegistrations);
            Assert.AreEqual(reportEntity.ImageShackSuccessfulUploads, domainReport.ImageShackSuccessfulUploads);
            Assert.AreEqual(reportEntity.ImageShackUploadCancels, domainReport.ImageShackUploadCancels);
            Assert.AreEqual(reportEntity.TwitterRegistrations, domainReport.TwitterRegistrations);
            Assert.AreEqual(reportEntity.OdnoklassnikiRegistrations, domainReport.OdnoklassnikiRegistrations);

            Assert.AreEqual(reportEntity.BrowserRegistrations, domainReport.BrowserRegistrations);
            Assert.AreEqual(reportEntity.OtherRegistrations, domainReport.OtherRegistrations);
            Assert.AreEqual(reportEntity.TaggerAndroidDeletions, domainReport.TaggerAndroidDeletions);
            Assert.AreEqual(reportEntity.TaggerAndroidRegistrations, domainReport.TaggerAndroidRegistrations);
            Assert.AreEqual(reportEntity.TaggerAndroidSuccessfulUploads, domainReport.TaggerAndroidSuccessfulUploads);
            Assert.AreEqual(reportEntity.TaggerAndroidUploadCancels, domainReport.TaggerAndroidUploadCancels);
            Assert.AreEqual(reportEntity.StandaloneDeletions, domainReport.StandaloneDeletions);
            Assert.AreEqual(reportEntity.StandaloneRegistrations, domainReport.StandaloneRegistrations);
            Assert.AreEqual(reportEntity.StandaloneSuccessfulUploads, domainReport.StandaloneSuccessfulUploads);
            Assert.AreEqual(reportEntity.StandaloneUploadCancels, domainReport.StandaloneUploadCancels);
            Assert.AreEqual(reportEntity.PlayerDeletions, domainReport.PlayerDeletions);
            Assert.AreEqual(reportEntity.PlayerRegistrations, domainReport.PlayerRegistrations);
            Assert.AreEqual(reportEntity.PlayerSuccessfulUploads, domainReport.PlayerSuccessfulUploads);
            Assert.AreEqual(reportEntity.PlayerUploadCancels, domainReport.PlayerUploadCancels);
            Assert.AreEqual(reportEntity.DailyMotionDeletions, domainReport.DailyMotionDeletions);
            Assert.AreEqual(reportEntity.DailyMotionRegistrations, domainReport.DailyMotionRegistrations);
            Assert.AreEqual(reportEntity.DailyMotionSuccessfulUploads, domainReport.DailyMotionSuccessfulUploads);
            Assert.AreEqual(reportEntity.DailyMotionUploadCancels, domainReport.DailyMotionUploadCancels);
            Assert.AreEqual(reportEntity.VkRegistrations, domainReport.VkRegistrations);
            Assert.AreEqual(reportEntity.JwPlayerDeletions, domainReport.JwPlayerDeletions);
            Assert.AreEqual(reportEntity.JwPlayerRegistrations, domainReport.JwPlayerRegistrations);
            Assert.AreEqual(reportEntity.JwPlayerSuccessfulUploads, domainReport.JwPlayerSuccessfulUploads);
            Assert.AreEqual(reportEntity.JwPlayerUploadCancels, domainReport.JwPlayerUploadCancels);
        }
コード例 #8
0
 public DomainReport ReportEntityToDomain(StandardReportV3Entity entity)
 {
     return(new DomainReport
     {
         Tick = _tableValueConverter.TickToDateTime(entity.Tick),
         Interval = entity.Interval,
         AllRegistrations = entity.AllRegistrations,
         CicIPadDeletions = entity.CicIPadDeletions,
         CicIPadRegistrations = entity.CicIPadRegistrations,
         CicIPadSuccessfulUploads = entity.CicIPadSuccessfulUploads,
         CicIPadUploadCancels = entity.CicIPadUploadCancels,
         CicMacDeletions = entity.CicMacDeletions,
         CicMacRegistrations = entity.CicMacRegistrations,
         CicMacSuccessfulUploads = entity.CicMacSuccessfulUploads,
         CicMacUploadCancels = entity.CicMacUploadCancels,
         CicPcDeletions = entity.CicPcDeletions,
         CicPcRegistrations = entity.CicPcRegistrations,
         CicPcSuccessfulUploads = entity.CicPcSuccessfulUploads,
         CicPcUploadCancels = entity.CicPcUploadCancels,
         EmailRegistrations = entity.EmailRegistrations,
         EmbeddedViews = entity.EmbeddedViews,
         FacebookRegistrations = entity.FacebookRegistrations,
         GoogleRegistrations = entity.GoogleRegistrations,
         TaggerIPhoneDeletions = entity.TaggerIPhoneDeletions,
         TaggerIPhoneRegistrations = entity.TaggerIPhoneRegistrations,
         TaggerIPhoneUploads = entity.TaggerIPhoneSuccessfulUploads,
         TaggerIPhoneUploadCancels = entity.TaggerIPhoneUploadCancels,
         TotalViews = entity.TotalViews,
         WindowsLiveRegistrations = entity.WindowsLiveRegistrations,
         YahooRegistrations = entity.YahooRegistrations,
         ImageShackDeletions = entity.ImageShackDeletions,
         ImageShackRegistrations = entity.ImageShackRegistrations,
         ImageShackSuccessfulUploads = entity.ImageShackSuccessfulUploads,
         ImageShackUploadCancels = entity.ImageShackUploadCancels,
         TwitterRegistrations = entity.TwitterRegistrations,
         OdnoklassnikiRegistrations = entity.OdnoklassnikiRegistrations,
         BrowserRegistrations = entity.BrowserRegistrations,
         OtherRegistrations = entity.OtherRegistrations,
         PlayerDeletions = entity.PlayerDeletions,
         PlayerRegistrations = entity.PlayerRegistrations,
         PlayerSuccessfulUploads = entity.PlayerSuccessfulUploads,
         PlayerUploadCancels = entity.PlayerUploadCancels,
         StandaloneDeletions = entity.StandaloneDeletions,
         StandaloneRegistrations = entity.StandaloneRegistrations,
         StandaloneSuccessfulUploads = entity.StandaloneSuccessfulUploads,
         StandaloneUploadCancels = entity.StandaloneUploadCancels,
         TaggerAndroidDeletions = entity.TaggerAndroidDeletions,
         TaggerAndroidRegistrations = entity.TaggerAndroidRegistrations,
         TaggerAndroidSuccessfulUploads = entity.TaggerAndroidSuccessfulUploads,
         TaggerAndroidUploadCancels = entity.TaggerAndroidUploadCancels,
         DailyMotionDeletions = entity.DailyMotionDeletions,
         DailyMotionRegistrations = entity.DailyMotionRegistrations,
         DailyMotionSuccessfulUploads = entity.DailyMotionSuccessfulUploads,
         DailyMotionUploadCancels = entity.DailyMotionUploadCancels,
         VkRegistrations = entity.VkRegistrations,
         JwPlayerDeletions = entity.JwPlayerDeletions,
         JwPlayerRegistrations = entity.JwPlayerRegistrations,
         JwPlayerSuccessfulUploads = entity.JwPlayerSuccessfulUploads,
         JwPlayerUploadCancels = entity.JwPlayerUploadCancels
     });
 }