mirror of
https://github.com/zoriya/Kyoo.git
synced 2025-05-24 02:02:36 -04:00
Fix tests
This commit is contained in:
parent
9bb896e84b
commit
3d30d65184
@ -150,7 +150,7 @@ namespace Kyoo.Core.Controllers
|
||||
public override async Task<Episode> Create(Episode obj)
|
||||
{
|
||||
await base.Create(obj);
|
||||
obj.ShowSlug = _database.Shows.First(x => x.ID == obj.ShowID).Slug;
|
||||
obj.ShowSlug = obj.Show?.Slug ?? _database.Shows.First(x => x.ID == obj.ShowID).Slug;
|
||||
_database.Entry(obj).State = EntityState.Added;
|
||||
await _database.SaveChangesAsync(() =>
|
||||
obj.SeasonNumber != null && obj.EpisodeNumber != null
|
||||
|
@ -31,6 +31,27 @@ namespace Kyoo.Postgresql.Migrations
|
||||
/// <inheritdoc/>
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
// language=PostgreSQL
|
||||
migrationBuilder.Sql("DROP TRIGGER show_slug_trigger ON shows;");
|
||||
// language=PostgreSQL
|
||||
migrationBuilder.Sql(@"DROP FUNCTION show_slug_update;");
|
||||
// language=PostgreSQL
|
||||
migrationBuilder.Sql(@"DROP TRIGGER season_slug_trigger ON seasons;");
|
||||
// language=PostgreSQL
|
||||
migrationBuilder.Sql(@"DROP FUNCTION season_slug_update;");
|
||||
// language=PostgreSQL
|
||||
migrationBuilder.Sql("DROP TRIGGER episode_slug_trigger ON episodes;");
|
||||
// language=PostgreSQL
|
||||
migrationBuilder.Sql(@"DROP FUNCTION episode_slug_update;");
|
||||
// language=PostgreSQL
|
||||
migrationBuilder.Sql("DROP TRIGGER track_slug_trigger ON tracks;");
|
||||
// language=PostgreSQL
|
||||
migrationBuilder.Sql(@"DROP FUNCTION track_slug_update;");
|
||||
// language=PostgreSQL
|
||||
migrationBuilder.Sql("DROP TRIGGER episode_track_slug_trigger ON episodes;");
|
||||
// language=PostgreSQL
|
||||
migrationBuilder.Sql(@"DROP FUNCTION episode_update_tracks_slug;");
|
||||
|
||||
migrationBuilder.AlterColumn<string>(
|
||||
name: "slug",
|
||||
table: "tracks",
|
||||
@ -60,27 +81,6 @@ namespace Kyoo.Postgresql.Migrations
|
||||
oldClrType: typeof(string),
|
||||
oldType: "text",
|
||||
oldNullable: true);
|
||||
|
||||
// language=PostgreSQL
|
||||
migrationBuilder.Sql("DROP TRIGGER show_slug_trigger ON shows;");
|
||||
// language=PostgreSQL
|
||||
migrationBuilder.Sql(@"DROP FUNCTION show_slug_update;");
|
||||
// language=PostgreSQL
|
||||
migrationBuilder.Sql(@"DROP TRIGGER season_slug_trigger ON seasons;");
|
||||
// language=PostgreSQL
|
||||
migrationBuilder.Sql(@"DROP FUNCTION season_slug_update;");
|
||||
// language=PostgreSQL
|
||||
migrationBuilder.Sql("DROP TRIGGER episode_slug_trigger ON episodes;");
|
||||
// language=PostgreSQL
|
||||
migrationBuilder.Sql(@"DROP FUNCTION episode_slug_update;");
|
||||
// language=PostgreSQL
|
||||
migrationBuilder.Sql("DROP TRIGGER track_slug_trigger ON tracks;");
|
||||
// language=PostgreSQL
|
||||
migrationBuilder.Sql(@"DROP FUNCTION track_slug_update;");
|
||||
// language=PostgreSQL
|
||||
migrationBuilder.Sql("DROP TRIGGER episode_track_slug_trigger ON episodes;");
|
||||
// language=PostgreSQL
|
||||
migrationBuilder.Sql(@"DROP FUNCTION episode_update_tracks_slug;");
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
@ -108,7 +108,7 @@ namespace Kyoo.Tests.Database
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task CreateTest()
|
||||
public virtual async Task CreateTest()
|
||||
{
|
||||
await Assert.ThrowsAsync<DuplicatedItemException>(() => _repository.Create(TestSample.Get<T>()));
|
||||
await _repository.Delete(TestSample.Get<T>());
|
||||
@ -132,7 +132,7 @@ namespace Kyoo.Tests.Database
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task CreateIfNotExistTest()
|
||||
public virtual async Task CreateIfNotExistTest()
|
||||
{
|
||||
T expected = TestSample.Get<T>();
|
||||
KAssert.DeepEqual(expected, await _repository.CreateIfNotExists(TestSample.Get<T>()));
|
||||
|
@ -21,6 +21,7 @@ using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Kyoo.Abstractions.Controllers;
|
||||
using Kyoo.Abstractions.Models;
|
||||
using Kyoo.Abstractions.Models.Exceptions;
|
||||
using Kyoo.Postgresql;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Xunit;
|
||||
@ -45,6 +46,7 @@ namespace Kyoo.Tests.Database
|
||||
protected AEpisodeTests(RepositoryActivator repositories)
|
||||
: base(repositories)
|
||||
{
|
||||
|
||||
_repository = repositories.LibraryManager.EpisodeRepository;
|
||||
}
|
||||
|
||||
@ -332,5 +334,30 @@ namespace Kyoo.Tests.Database
|
||||
value.Show = TestSample.Get<Show>();
|
||||
KAssert.DeepEqual(value, ret.First());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public override async Task CreateTest()
|
||||
{
|
||||
await Assert.ThrowsAsync<DuplicatedItemException>(() => _repository.Create(TestSample.Get<Episode>()));
|
||||
await _repository.Delete(TestSample.Get<Episode>());
|
||||
|
||||
Episode expected = TestSample.Get<Episode>();
|
||||
expected.ID = 0;
|
||||
expected.ShowID = (await Repositories.LibraryManager.ShowRepository.Create(TestSample.Get<Show>())).ID;
|
||||
expected.SeasonID = (await Repositories.LibraryManager.SeasonRepository.Create(TestSample.Get<Season>())).ID;
|
||||
await _repository.Create(expected);
|
||||
KAssert.DeepEqual(expected, await _repository.Get(expected.Slug));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public override async Task CreateIfNotExistTest()
|
||||
{
|
||||
Episode expected = TestSample.Get<Episode>();
|
||||
KAssert.DeepEqual(expected, await _repository.CreateIfNotExists(TestSample.Get<Episode>()));
|
||||
await _repository.Delete(TestSample.Get<Episode>());
|
||||
expected.ShowID = (await Repositories.LibraryManager.ShowRepository.Create(TestSample.Get<Show>())).ID;
|
||||
expected.SeasonID = (await Repositories.LibraryManager.SeasonRepository.Create(TestSample.Get<Season>())).ID;
|
||||
KAssert.DeepEqual(expected, await _repository.CreateIfNotExists(expected));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -41,8 +41,6 @@ namespace Kyoo.Tests
|
||||
|
||||
public PostgresFixture()
|
||||
{
|
||||
// TODO Assert.Skip when postgres is not available. (this needs xunit v3)
|
||||
|
||||
string id = Guid.NewGuid().ToString().Replace('-', '_');
|
||||
Template = $"kyoo_template_{id}";
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user