Refactor collection and group suggestion handling to improve name comparison logic
Updated the CreateCollectionFromSuggestionCommandHandler and CreateGroupFromSuggestionCommandHandler to compare names in memory rather than using SQL queries for case-insensitive checks. This change addresses potential discrepancies with SQL's case sensitivity, particularly with special characters. Additionally, modified unit tests to use array syntax for assertions, enhancing readability and consistency across the test suite.
This commit is contained in:
@@ -58,7 +58,7 @@ public class ListShowsTests
|
||||
);
|
||||
|
||||
// Ролики-врезки живут на своей странице и в общей библиотеке только мешали бы.
|
||||
Assert.Equal(new[] { "Автофильм", "Сериал" }, shows.Select(s => s.Name).ToArray());
|
||||
Assert.Equal(["Автофильм", "Сериал"], shows.Select(s => s.Name).ToArray());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
@@ -77,7 +77,7 @@ public class ListShowsTests
|
||||
Assert.Equal(2, series.SeasonCount);
|
||||
Assert.True(series.HasPoster);
|
||||
Assert.Equal("Боевик", series.PrimaryGenre);
|
||||
Assert.Equal(new[] { "Драма" }, series.OtherGenres.ToArray());
|
||||
Assert.Equal(["Драма"], series.OtherGenres.ToArray());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
||||
@@ -54,8 +54,13 @@ public class UploadsCleanupTests : IDisposable
|
||||
[Fact]
|
||||
public void Sweep_SurvivesMissingDirectory()
|
||||
{
|
||||
// Каталога может не быть на самом первом старте — это не повод падать.
|
||||
UploadsCleaner.Sweep(Paths(), TimeSpan.FromHours(24), NullLogger.Instance);
|
||||
// Каталога может не быть на самом первом старте — это не повод падать. И заводить его
|
||||
// уборка тоже не должна: каталоги создаёт хранилище, когда в них появляется нужда.
|
||||
var paths = Paths();
|
||||
|
||||
UploadsCleaner.Sweep(paths, TimeSpan.FromHours(24), NullLogger.Instance);
|
||||
|
||||
Assert.False(Directory.Exists(paths.UploadsDir));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -79,7 +79,7 @@ public class OmdbMetadataProviderTests
|
||||
Assert.Equal("Сериал", show.Title);
|
||||
Assert.Equal(2001, show.Year);
|
||||
Assert.Equal("описание", show.Overview);
|
||||
Assert.Equal(new[] { "Action", "Sci-Fi" }, show.Genres);
|
||||
Assert.Equal(["Action", "Sci-Fi"], show.Genres);
|
||||
Assert.Equal("TV-14", show.ContentRating);
|
||||
}
|
||||
|
||||
@@ -185,7 +185,7 @@ public class OmdbMetadataProviderTests
|
||||
|
||||
var seasons = await Provider(http).GetSeasonNumbersAsync("tt1", CancellationToken.None);
|
||||
|
||||
Assert.Equal(new[] { 1, 2, 3 }, seasons);
|
||||
Assert.Equal([1, 2, 3], seasons);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
||||
@@ -97,7 +97,7 @@ public class TmdbMetadataProviderTests
|
||||
Assert.Equal("Сериал", show.Title);
|
||||
Assert.Equal(2001, show.Year);
|
||||
// Идентификатор впереди названия, безымянный жанр — только идентификатором.
|
||||
Assert.Equal(new[] { "tmdb:28", "Боевик", "Драма", "tmdb:99" }, show.Genres);
|
||||
Assert.Equal(["tmdb:28", "Боевик", "Драма", "tmdb:99"], show.Genres);
|
||||
// US приоритетнее RU, хотя в ответе идёт вторым.
|
||||
Assert.Equal("TV-14", show.ContentRating);
|
||||
}
|
||||
@@ -236,7 +236,7 @@ public class TmdbMetadataProviderTests
|
||||
|
||||
var seasons = await Provider(http).GetSeasonNumbersAsync("42", CancellationToken.None);
|
||||
|
||||
Assert.Equal(new[] { 1, 2 }, seasons);
|
||||
Assert.Equal([1, 2], seasons);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
||||
@@ -360,7 +360,7 @@ public class TemplateEditingTests
|
||||
Assert.Equal(30, layer.Priority);
|
||||
Assert.False(layer.IsEnabled);
|
||||
var stored = LayerApplicability.FromJson(layer.ApplicabilityJson);
|
||||
Assert.Equal(new[] { 5, 6 }, stored?.Weekdays);
|
||||
Assert.Equal([5, 6], stored?.Weekdays);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
||||
@@ -47,10 +47,7 @@ public class ListPublicChannelsTests
|
||||
);
|
||||
|
||||
// Ненумерованный уходит в конец: на телевизоре порядок задаёт номер.
|
||||
Assert.Equal(
|
||||
new[] { "Первый", "Второй", "Аврора" },
|
||||
channels.Select(c => c.Name).ToArray()
|
||||
);
|
||||
Assert.Equal(["Первый", "Второй", "Аврора"], channels.Select(c => c.Name).ToArray());
|
||||
Assert.Null(channels[^1].Number);
|
||||
Assert.All(channels, c => Assert.Null(c.CurrentShowId));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user