コード例 #1
0
        public void Setup()
        {
            var profile = new Profile
            {
                Id     = 1,
                Cutoff = Quality.WEBDL480p,
                Items  = new List <ProfileQualityItem>
                {
                    new ProfileQualityItem {
                        Allowed = true, Quality = Quality.SDTV
                    },
                    new ProfileQualityItem {
                        Allowed = true, Quality = Quality.WEBDL480p
                    },
                    new ProfileQualityItem {
                        Allowed = true, Quality = Quality.RAWHD
                    }
                }
            };

            _monitoredSeries = Builder <Series> .CreateNew()
                               .With(s => s.TvRageId  = RandomNumber)
                               .With(s => s.Runtime   = 30)
                               .With(s => s.Monitored = true)
                               .With(s => s.TitleSlug = "Title3")
                               .With(s => s.Id        = profile.Id)
                               .BuildNew();

            _unmonitoredSeries = Builder <Series> .CreateNew()
                                 .With(s => s.TvdbId    = RandomNumber)
                                 .With(s => s.Runtime   = 30)
                                 .With(s => s.Monitored = false)
                                 .With(s => s.TitleSlug = "Title2")
                                 .With(s => s.Id        = profile.Id)
                                 .BuildNew();

            _monitoredSeries.Id   = Db.Insert(_monitoredSeries).Id;
            _unmonitoredSeries.Id = Db.Insert(_unmonitoredSeries).Id;

            _pagingSpec = new PagingSpec <Episode>
            {
                Page          = 1,
                PageSize      = 10,
                SortKey       = "AirDate",
                SortDirection = SortDirection.Ascending
            };

            _qualitiesBelowCutoff = new List <QualitiesBelowCutoff>
            {
                new QualitiesBelowCutoff(profile.Id, new[] { Quality.SDTV.Id })
            };

            var qualityMet = new EpisodeFile {
                RelativePath = "a", Quality = new QualityModel {
                    Quality = Quality.WEBDL480p
                }
            };
            var qualityUnmet = new EpisodeFile {
                RelativePath = "b", Quality = new QualityModel {
                    Quality = Quality.SDTV
                }
            };
            var qualityRawHD = new EpisodeFile {
                RelativePath = "c", Quality = new QualityModel {
                    Quality = Quality.RAWHD
                }
            };

            MediaFileRepository fileRepository = Mocker.Resolve <MediaFileRepository>();

            qualityMet   = fileRepository.Insert(qualityMet);
            qualityUnmet = fileRepository.Insert(qualityUnmet);
            qualityRawHD = fileRepository.Insert(qualityRawHD);

            var monitoredSeriesEpisodes = Builder <Episode> .CreateListOfSize(4)
                                          .All()
                                          .With(e => e.Id            = 0)
                                          .With(e => e.SeriesId      = _monitoredSeries.Id)
                                          .With(e => e.AirDateUtc    = DateTime.Now.AddDays(-5))
                                          .With(e => e.Monitored     = true)
                                          .With(e => e.EpisodeFileId = qualityUnmet.Id)
                                          .TheFirst(1)
                                          .With(e => e.Monitored     = false)
                                          .With(e => e.EpisodeFileId = qualityMet.Id)
                                          .TheNext(1)
                                          .With(e => e.EpisodeFileId = qualityRawHD.Id)
                                          .TheLast(1)
                                          .With(e => e.SeasonNumber = 0)
                                          .Build();

            var unmonitoredSeriesEpisodes = Builder <Episode> .CreateListOfSize(3)
                                            .All()
                                            .With(e => e.Id            = 0)
                                            .With(e => e.SeriesId      = _unmonitoredSeries.Id)
                                            .With(e => e.AirDateUtc    = DateTime.Now.AddDays(-5))
                                            .With(e => e.Monitored     = true)
                                            .With(e => e.EpisodeFileId = qualityUnmet.Id)
                                            .TheFirst(1)
                                            .With(e => e.Monitored     = false)
                                            .With(e => e.EpisodeFileId = qualityMet.Id)
                                            .TheLast(1)
                                            .With(e => e.SeasonNumber = 0)
                                            .Build();


            _unairedEpisodes = Builder <Episode> .CreateListOfSize(1)
                               .All()
                               .With(e => e.Id            = 0)
                               .With(e => e.SeriesId      = _monitoredSeries.Id)
                               .With(e => e.AirDateUtc    = DateTime.Now.AddDays(5))
                               .With(e => e.Monitored     = true)
                               .With(e => e.EpisodeFileId = qualityUnmet.Id)
                               .Build()
                               .ToList();

            Db.InsertMany(monitoredSeriesEpisodes);
            Db.InsertMany(unmonitoredSeriesEpisodes);
        }