…lines 1–164 unchanged (164 lines)
165
166 Subject.Aggregate(_remoteEpisode).Languages.Should().BeEquivalentTo(new List<Language> { _series.OriginalLanguage, Language.French });
167 Mocker.GetMock<IIndexerFactory>().Verify(c => c.Find(1), Times.Once());
168 Mocker.GetMock<IIndexerFactory>().VerifyNoOtherCalls();
169 }
170
171 [Test]
172 public void should_return_multi_languages_when_release_as_specified_language_and_indexer_has_multi_languages_configuration()
173 {
174 var releaseTitle = "Series.Title.S01E01.MULTi.VFF.VFQ.1080p.BluRay.DTS.HDMA.x264-RlsGroup";
175 var indexerDefinition = new IndexerDefinition
176 {
177 Id = 1,
178 Settings = new TorrentRssIndexerSettings { MultiLanguages = new List<int> { Language.Original.Id, Language.French.Id } }
179 };
180 Mocker.GetMock<IIndexerFactory>()
181 .Setup(v => v.Find(1))
182 .Returns(indexerDefinition);
183
184 _remoteEpisode.ParsedEpisodeInfo = GetParsedEpisodeInfo(new List<Language> { Language.French }, releaseTitle);
185 _remoteEpisode.Release.IndexerId = 1;
186 _remoteEpisode.Release.Title = releaseTitle;
187
188 Subject.Aggregate(_remoteEpisode).Languages.Should().BeEquivalentTo(new List<Language> { _series.OriginalLanguage, Language.French });
189 Mocker.GetMock<IIndexerFactory>().Verify(c => c.Find(1), Times.Once());
190 Mocker.GetMock<IIndexerFactory>().VerifyNoOtherCalls();
191 }
192
193 [Test]
194 public void should_return_multi_languages_when_release_as_other_language_and_indexer_has_multi_languages_configuration()
195 {
196 var releaseTitle = "Series.Title.S01E01.MULTi.GERMAN.1080p.BluRay.DTS.HDMA.x264-RlsGroup";
197 var indexerDefinition = new IndexerDefinition
198 {
199 Id = 1,
200 Settings = new TorrentRssIndexerSettings { MultiLanguages = new List<int> { Language.Original.Id, Language.French.Id } }
201 };
202 Mocker.GetMock<IIndexerFactory>()
203 .Setup(v => v.Find(1))
204 .Returns(indexerDefinition);
205
206 _remoteEpisode.ParsedEpisodeInfo = GetParsedEpisodeInfo(new List<Language> { Language.German }, releaseTitle);
207 _remoteEpisode.Release.IndexerId = 1;
208 _remoteEpisode.Release.Title = releaseTitle;
209
210 Subject.Aggregate(_remoteEpisode).Languages.Should().BeEquivalentTo(new List<Language> { _series.OriginalLanguage, Language.French, Language.German });
211 Mocker.GetMock<IIndexerFactory>().Verify(c => c.Find(1), Times.Once());
212 Mocker.GetMock<IIndexerFactory>().VerifyNoOtherCalls();
213 }
214
215 [Test]
216 public void should_return_original_when_indexer_has_no_multi_languages_configuration()
217 {
218 var releaseTitle = "Series.Title.S01E01.MULTi.1080p.WEB.H265-RlsGroup";
219 var indexerDefinition = new IndexerDefinition
…lines 220–378 unchanged (159 lines)