diff --git a/Kyoo.sln b/Kyoo.sln index fbec126b..fdb1f643 100644 --- a/Kyoo.sln +++ b/Kyoo.sln @@ -5,8 +5,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kyoo.Common", "Kyoo.Common\ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kyoo.CommonAPI", "Kyoo.CommonAPI\Kyoo.CommonAPI.csproj", "{6F91B645-F785-46BB-9C4F-1EFC83E489B6}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kyoo.Tests", "Kyoo.Tests\Kyoo.Tests.csproj", "{D179D5FF-9F75-4B27-8E27-0DBDF1806611}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kyoo.Postgresql", "Kyoo.Postgresql\Kyoo.Postgresql.csproj", "{3213C96D-0BF3-460B-A8B5-B9977229408A}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kyoo.Authentication", "Kyoo.Authentication\Kyoo.Authentication.csproj", "{7A841335-6523-47DB-9717-80AA7BD943FD}" @@ -17,6 +15,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kyoo.TheTvdb", "Kyoo.TheTvd EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kyoo.TheMovieDb", "Kyoo.TheMovieDb\Kyoo.TheMovieDb.csproj", "{BAB270D4-E0EA-4329-BA65-512FDAB01001}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kyoo.Tests", "tests\Kyoo.Tests\Kyoo.Tests.csproj", "{0C8AA7EA-E723-4532-852F-35AA4E8AFED5}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -35,10 +35,6 @@ Global {6F91B645-F785-46BB-9C4F-1EFC83E489B6}.Debug|Any CPU.Build.0 = Debug|Any CPU {6F91B645-F785-46BB-9C4F-1EFC83E489B6}.Release|Any CPU.ActiveCfg = Release|Any CPU {6F91B645-F785-46BB-9C4F-1EFC83E489B6}.Release|Any CPU.Build.0 = Release|Any CPU - {D179D5FF-9F75-4B27-8E27-0DBDF1806611}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D179D5FF-9F75-4B27-8E27-0DBDF1806611}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D179D5FF-9F75-4B27-8E27-0DBDF1806611}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D179D5FF-9F75-4B27-8E27-0DBDF1806611}.Release|Any CPU.Build.0 = Release|Any CPU {3213C96D-0BF3-460B-A8B5-B9977229408A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {3213C96D-0BF3-460B-A8B5-B9977229408A}.Debug|Any CPU.Build.0 = Debug|Any CPU {3213C96D-0BF3-460B-A8B5-B9977229408A}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -59,5 +55,9 @@ Global {BAB270D4-E0EA-4329-BA65-512FDAB01001}.Debug|Any CPU.Build.0 = Debug|Any CPU {BAB270D4-E0EA-4329-BA65-512FDAB01001}.Release|Any CPU.ActiveCfg = Release|Any CPU {BAB270D4-E0EA-4329-BA65-512FDAB01001}.Release|Any CPU.Build.0 = Release|Any CPU + {0C8AA7EA-E723-4532-852F-35AA4E8AFED5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0C8AA7EA-E723-4532-852F-35AA4E8AFED5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0C8AA7EA-E723-4532-852F-35AA4E8AFED5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0C8AA7EA-E723-4532-852F-35AA4E8AFED5}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection EndGlobal diff --git a/Kyoo.sln.DotSettings b/Kyoo.sln.DotSettings deleted file mode 100644 index f0549f01..00000000 --- a/Kyoo.sln.DotSettings +++ /dev/null @@ -1,11 +0,0 @@ - - Tab - UseExplicitType - UseExplicitType - UseExplicitType - API - DB - True - True - True - True \ No newline at end of file diff --git a/Kyoo/Controllers/Repositories/TrackRepository.cs b/Kyoo/Controllers/Repositories/TrackRepository.cs index 9b642a93..a462ca23 100644 --- a/Kyoo/Controllers/Repositories/TrackRepository.cs +++ b/Kyoo/Controllers/Repositories/TrackRepository.cs @@ -37,19 +37,25 @@ namespace Kyoo.Controllers throw new InvalidOperationException("Tracks do not support the search method."); } + /// + protected override async Task Validate(Track resource) + { + await base.Validate(resource); + if (resource.EpisodeID <= 0) + { + resource.EpisodeID = resource.Episode?.ID ?? 0; + if (resource.EpisodeID <= 0) + throw new ArgumentException("Can't store a track not related to any episode " + + $"(episodeID: {resource.EpisodeID})."); + } + } + /// public override async Task Create(Track obj) { if (obj == null) throw new ArgumentNullException(nameof(obj)); - if (obj.EpisodeID <= 0) - { - obj.EpisodeID = obj.Episode?.ID ?? 0; - if (obj.EpisodeID <= 0) - throw new InvalidOperationException($"Can't store a track not related to any episode (episodeID: {obj.EpisodeID})."); - } - await base.Create(obj); _database.Entry(obj).State = EntityState.Added; await _database.SaveChangesAsync(); diff --git a/Kyoo.Tests/Database/RepositoryActivator.cs b/tests/Kyoo.Tests/Database/RepositoryActivator.cs similarity index 100% rename from Kyoo.Tests/Database/RepositoryActivator.cs rename to tests/Kyoo.Tests/Database/RepositoryActivator.cs diff --git a/Kyoo.Tests/Database/RepositoryTests.cs b/tests/Kyoo.Tests/Database/RepositoryTests.cs similarity index 100% rename from Kyoo.Tests/Database/RepositoryTests.cs rename to tests/Kyoo.Tests/Database/RepositoryTests.cs diff --git a/Kyoo.Tests/Database/SpecificTests/CollectionsTests.cs b/tests/Kyoo.Tests/Database/SpecificTests/CollectionsTests.cs similarity index 100% rename from Kyoo.Tests/Database/SpecificTests/CollectionsTests.cs rename to tests/Kyoo.Tests/Database/SpecificTests/CollectionsTests.cs diff --git a/Kyoo.Tests/Database/SpecificTests/EpisodeTests.cs b/tests/Kyoo.Tests/Database/SpecificTests/EpisodeTests.cs similarity index 100% rename from Kyoo.Tests/Database/SpecificTests/EpisodeTests.cs rename to tests/Kyoo.Tests/Database/SpecificTests/EpisodeTests.cs diff --git a/Kyoo.Tests/Database/SpecificTests/GenreTests.cs b/tests/Kyoo.Tests/Database/SpecificTests/GenreTests.cs similarity index 100% rename from Kyoo.Tests/Database/SpecificTests/GenreTests.cs rename to tests/Kyoo.Tests/Database/SpecificTests/GenreTests.cs diff --git a/Kyoo.Tests/Database/SpecificTests/LibraryItemTest.cs b/tests/Kyoo.Tests/Database/SpecificTests/LibraryItemTest.cs similarity index 100% rename from Kyoo.Tests/Database/SpecificTests/LibraryItemTest.cs rename to tests/Kyoo.Tests/Database/SpecificTests/LibraryItemTest.cs diff --git a/Kyoo.Tests/Database/SpecificTests/LibraryTests.cs b/tests/Kyoo.Tests/Database/SpecificTests/LibraryTests.cs similarity index 100% rename from Kyoo.Tests/Database/SpecificTests/LibraryTests.cs rename to tests/Kyoo.Tests/Database/SpecificTests/LibraryTests.cs diff --git a/Kyoo.Tests/Database/SpecificTests/PeopleTests.cs b/tests/Kyoo.Tests/Database/SpecificTests/PeopleTests.cs similarity index 100% rename from Kyoo.Tests/Database/SpecificTests/PeopleTests.cs rename to tests/Kyoo.Tests/Database/SpecificTests/PeopleTests.cs diff --git a/Kyoo.Tests/Database/SpecificTests/ProviderTests.cs b/tests/Kyoo.Tests/Database/SpecificTests/ProviderTests.cs similarity index 100% rename from Kyoo.Tests/Database/SpecificTests/ProviderTests.cs rename to tests/Kyoo.Tests/Database/SpecificTests/ProviderTests.cs diff --git a/Kyoo.Tests/Database/SpecificTests/SanityTests.cs b/tests/Kyoo.Tests/Database/SpecificTests/SanityTests.cs similarity index 100% rename from Kyoo.Tests/Database/SpecificTests/SanityTests.cs rename to tests/Kyoo.Tests/Database/SpecificTests/SanityTests.cs diff --git a/Kyoo.Tests/Database/SpecificTests/SeasonTests.cs b/tests/Kyoo.Tests/Database/SpecificTests/SeasonTests.cs similarity index 100% rename from Kyoo.Tests/Database/SpecificTests/SeasonTests.cs rename to tests/Kyoo.Tests/Database/SpecificTests/SeasonTests.cs diff --git a/Kyoo.Tests/Database/SpecificTests/ShowTests.cs b/tests/Kyoo.Tests/Database/SpecificTests/ShowTests.cs similarity index 100% rename from Kyoo.Tests/Database/SpecificTests/ShowTests.cs rename to tests/Kyoo.Tests/Database/SpecificTests/ShowTests.cs diff --git a/Kyoo.Tests/Database/SpecificTests/StudioTests.cs b/tests/Kyoo.Tests/Database/SpecificTests/StudioTests.cs similarity index 100% rename from Kyoo.Tests/Database/SpecificTests/StudioTests.cs rename to tests/Kyoo.Tests/Database/SpecificTests/StudioTests.cs diff --git a/Kyoo.Tests/Database/SpecificTests/TrackTests.cs b/tests/Kyoo.Tests/Database/SpecificTests/TrackTests.cs similarity index 100% rename from Kyoo.Tests/Database/SpecificTests/TrackTests.cs rename to tests/Kyoo.Tests/Database/SpecificTests/TrackTests.cs diff --git a/Kyoo.Tests/Database/SpecificTests/UserTests.cs b/tests/Kyoo.Tests/Database/SpecificTests/UserTests.cs similarity index 100% rename from Kyoo.Tests/Database/SpecificTests/UserTests.cs rename to tests/Kyoo.Tests/Database/SpecificTests/UserTests.cs diff --git a/Kyoo.Tests/Database/TestContext.cs b/tests/Kyoo.Tests/Database/TestContext.cs similarity index 100% rename from Kyoo.Tests/Database/TestContext.cs rename to tests/Kyoo.Tests/Database/TestContext.cs diff --git a/Kyoo.Tests/Database/TestSample.cs b/tests/Kyoo.Tests/Database/TestSample.cs similarity index 100% rename from Kyoo.Tests/Database/TestSample.cs rename to tests/Kyoo.Tests/Database/TestSample.cs diff --git a/Kyoo.Tests/Identifier/IdentifierTests.cs b/tests/Kyoo.Tests/Identifier/IdentifierTests.cs similarity index 100% rename from Kyoo.Tests/Identifier/IdentifierTests.cs rename to tests/Kyoo.Tests/Identifier/IdentifierTests.cs diff --git a/Kyoo.Tests/Identifier/ProviderTests.cs b/tests/Kyoo.Tests/Identifier/ProviderTests.cs similarity index 100% rename from Kyoo.Tests/Identifier/ProviderTests.cs rename to tests/Kyoo.Tests/Identifier/ProviderTests.cs diff --git a/Kyoo.Tests/Identifier/Tvdb/ConvertorTests.cs b/tests/Kyoo.Tests/Identifier/Tvdb/ConvertorTests.cs similarity index 100% rename from Kyoo.Tests/Identifier/Tvdb/ConvertorTests.cs rename to tests/Kyoo.Tests/Identifier/Tvdb/ConvertorTests.cs diff --git a/Kyoo.Tests/KAssert.cs b/tests/Kyoo.Tests/KAssert.cs similarity index 100% rename from Kyoo.Tests/KAssert.cs rename to tests/Kyoo.Tests/KAssert.cs diff --git a/Kyoo.Tests/Kyoo.Tests.csproj b/tests/Kyoo.Tests/Kyoo.Tests.csproj similarity index 84% rename from Kyoo.Tests/Kyoo.Tests.csproj rename to tests/Kyoo.Tests/Kyoo.Tests.csproj index b6b25e03..f174bc55 100644 --- a/Kyoo.Tests/Kyoo.Tests.csproj +++ b/tests/Kyoo.Tests/Kyoo.Tests.csproj @@ -32,10 +32,10 @@ - - - - + + + + diff --git a/Kyoo.Tests/Utility/EnumerableTests.cs b/tests/Kyoo.Tests/Utility/EnumerableTests.cs similarity index 100% rename from Kyoo.Tests/Utility/EnumerableTests.cs rename to tests/Kyoo.Tests/Utility/EnumerableTests.cs diff --git a/Kyoo.Tests/Utility/MergerTests.cs b/tests/Kyoo.Tests/Utility/MergerTests.cs similarity index 100% rename from Kyoo.Tests/Utility/MergerTests.cs rename to tests/Kyoo.Tests/Utility/MergerTests.cs diff --git a/Kyoo.Tests/Utility/TaskTests.cs b/tests/Kyoo.Tests/Utility/TaskTests.cs similarity index 100% rename from Kyoo.Tests/Utility/TaskTests.cs rename to tests/Kyoo.Tests/Utility/TaskTests.cs diff --git a/Kyoo.Tests/Utility/UtilityTests.cs b/tests/Kyoo.Tests/Utility/UtilityTests.cs similarity index 100% rename from Kyoo.Tests/Utility/UtilityTests.cs rename to tests/Kyoo.Tests/Utility/UtilityTests.cs