mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-08-20 05:13:18 -07:00
commit
4c7fd45c01
5 changed files with 84 additions and 5 deletions
|
@ -130,5 +130,76 @@ namespace Ombi.Core.Tests.Rule.Search
|
|||
Assert.False(search.Approved);
|
||||
Assert.False(search.Requested);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task ShouldBeFullyAvailable_NoFutureAiredEpisodes_NoRequest()
|
||||
{
|
||||
var search = new SearchTvShowViewModel()
|
||||
{
|
||||
Id = 999,
|
||||
SeasonRequests = new List<SeasonRequests>
|
||||
{
|
||||
new SeasonRequests
|
||||
{
|
||||
Episodes = new List<EpisodeRequests>
|
||||
{
|
||||
new EpisodeRequests
|
||||
{
|
||||
Available = true,
|
||||
AirDate = new System.DateTime(2020,01,01)
|
||||
},
|
||||
new EpisodeRequests
|
||||
{
|
||||
Available = true,
|
||||
AirDate = new System.DateTime(2020,01,02)
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
var result = await Rule.Execute(search);
|
||||
|
||||
Assert.True(result.Success);
|
||||
Assert.That(search.FullyAvailable, Is.True);
|
||||
Assert.That(search.PartlyAvailable, Is.False);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task ShouldBeFullyAvailable_AndPartly_FutureAiredEpisodes_NoRequest()
|
||||
{
|
||||
var search = new SearchTvShowViewModel()
|
||||
{
|
||||
Id = 999,
|
||||
SeasonRequests = new List<SeasonRequests>
|
||||
{
|
||||
new SeasonRequests
|
||||
{
|
||||
Episodes = new List<EpisodeRequests>
|
||||
{
|
||||
new EpisodeRequests
|
||||
{
|
||||
Available = true,
|
||||
AirDate = new System.DateTime(2020,01,01)
|
||||
},
|
||||
new EpisodeRequests
|
||||
{
|
||||
Available = true,
|
||||
AirDate = new System.DateTime(2020,01,02)
|
||||
},
|
||||
new EpisodeRequests
|
||||
{
|
||||
Available = true,
|
||||
AirDate = new System.DateTime(2029,01,02)
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
var result = await Rule.Execute(search);
|
||||
|
||||
Assert.True(result.Success);
|
||||
Assert.That(search.FullyAvailable, Is.True);
|
||||
Assert.That(search.PartlyAvailable, Is.True);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -85,11 +85,18 @@ namespace Ombi.Core.Rule.Rules.Search
|
|||
{
|
||||
request.FullyAvailable = true;
|
||||
}
|
||||
if (request.SeasonRequests.Any() && request.SeasonRequests.All(x => x.Episodes.Any(e => e.Available && e.AirDate > DateTime.MinValue)))
|
||||
if (request.SeasonRequests.Any() && request.SeasonRequests.All(x => x.Episodes.Any(e => e.Available && e.AirDate > DateTime.MinValue && e.AirDate <= DateTime.UtcNow)))
|
||||
{
|
||||
request.PartlyAvailable = true;
|
||||
}
|
||||
|
||||
var hasUnairedRequests = request.SeasonRequests.Any() && request.SeasonRequests.All(x => x.Episodes.Any(e => e.AirDate >= DateTime.UtcNow));
|
||||
|
||||
if (request.FullyAvailable)
|
||||
{
|
||||
request.PartlyAvailable = hasUnairedRequests;
|
||||
}
|
||||
|
||||
return Success();
|
||||
}
|
||||
if (obj.Type == RequestType.Album)
|
||||
|
|
|
@ -79,7 +79,7 @@ namespace Ombi.Schedule.Jobs.Emby
|
|||
// Episodes
|
||||
|
||||
|
||||
await OmbiQuartz.Scheduler.TriggerJob(new JobKey(nameof(IEmbyEpisodeSync), "Emby"), new JobDataMap(new Dictionary<string, string> { { JobDataKeys.EmbyRecentlyAddedSearch, "true" } }));
|
||||
await OmbiQuartz.Scheduler.TriggerJob(new JobKey(nameof(IEmbyEpisodeSync), "Emby"), new JobDataMap(new Dictionary<string, string> { { JobDataKeys.EmbyRecentlyAddedSearch, recentlyAddedSearch.ToString() } }));
|
||||
}
|
||||
|
||||
|
||||
|
|
3
src/Ombi/.vscode/settings.json
vendored
3
src/Ombi/.vscode/settings.json
vendored
|
@ -19,6 +19,7 @@
|
|||
"newsletter",
|
||||
"mass-email",
|
||||
"issues",
|
||||
"emby"
|
||||
"emby",
|
||||
"availability-rules"
|
||||
]
|
||||
}
|
||||
|
|
|
@ -101,7 +101,7 @@ describe("Search Tests", () => {
|
|||
|
||||
it("No Movie results, enabling Tv filter we get results", () => {
|
||||
Page.navbar.searchFilter.applyFilter(false, true, false);
|
||||
Page.visit("It's always sunny in Philadelphia");
|
||||
Page.visit("Dexter New Blood");
|
||||
|
||||
cy.wait('@searchResponse');
|
||||
Page.noSearchResultMessage.should('exist');
|
||||
|
@ -113,7 +113,7 @@ describe("Search Tests", () => {
|
|||
const card = Page.getCard('2710', false);
|
||||
|
||||
card.topLevelCard.realHover();
|
||||
card.title.should('have.text', "It's Always Sunny in Philadelphia");
|
||||
card.title.should('have.text', "Dexter: New Blood");
|
||||
card.overview.contains('Irish pub');
|
||||
card.requestType.contains('TV Show');
|
||||
card.requestButton.should('exist');
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue