Enhance code readability and maintainability by refactoring various components. Update formatting commands in CLAUDE.md for csharpier integration. Simplify method signatures in SegmentFiles, UploadLimits, and multiple endpoint classes for improved clarity. Adjust query handlers and command handlers to streamline parameter handling and enhance consistency across the application.
This commit is contained in:
@@ -35,9 +35,6 @@ public class ChannelHandlersTests
|
||||
Assert.Equal(ChannelErrors.DuplicateSlug, dup.Error);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
[Fact]
|
||||
public async Task UpdateChannelSettings_UpdatesBumperChances()
|
||||
{
|
||||
@@ -69,7 +66,4 @@ public class ChannelHandlersTests
|
||||
Assert.Equal(BumperFont.Sans, stored!.BumperFont);
|
||||
Assert.Equal(BumperSelection.WeightedRandom, stored.BumperSelection);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -24,7 +24,6 @@ public class QueryHandlersTests
|
||||
private static GroupMembershipCleaner GroupCleaner(IAppDbContext db) =>
|
||||
new(db, new GroupStatsService(db, new GroupElementResolver(db)));
|
||||
|
||||
|
||||
[Fact]
|
||||
public async Task GetChannel_UnknownId_ReturnsNotFound()
|
||||
{
|
||||
@@ -152,7 +151,6 @@ public class QueryHandlersTests
|
||||
Assert.True(ok.IsSuccess);
|
||||
}
|
||||
|
||||
|
||||
[Fact]
|
||||
public async Task AddAndRemoveBumperTemplate_WorkThroughStorage()
|
||||
{
|
||||
|
||||
@@ -16,7 +16,9 @@ public class ImportManualInboxValidatorTests
|
||||
[InlineData(null, null)] // номера не заданы — сервер разберёт имя сам
|
||||
public void AllowsRealWorldNumbers(int? season, int? episode)
|
||||
{
|
||||
Assert.True(new ImportManualInboxCommandValidator().Validate(Command(season, episode)).IsValid);
|
||||
Assert.True(
|
||||
new ImportManualInboxCommandValidator().Validate(Command(season, episode)).IsValid
|
||||
);
|
||||
}
|
||||
|
||||
[Theory]
|
||||
@@ -26,7 +28,9 @@ public class ImportManualInboxValidatorTests
|
||||
[InlineData(1, 1000)]
|
||||
public void RejectsOutOfRange(int? season, int? episode)
|
||||
{
|
||||
Assert.False(new ImportManualInboxCommandValidator().Validate(Command(season, episode)).IsValid);
|
||||
Assert.False(
|
||||
new ImportManualInboxCommandValidator().Validate(Command(season, episode)).IsValid
|
||||
);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
||||
@@ -22,7 +22,16 @@ public class MediaStatsTests
|
||||
var a = Pending(name);
|
||||
a.MarkProcessing();
|
||||
a.MarkReady(
|
||||
new MediaReadyInfo(TimeSpan.FromMinutes(20), 2, 600, 1920, 1080, "h264", "aac", "assets/x")
|
||||
new MediaReadyInfo(
|
||||
TimeSpan.FromMinutes(20),
|
||||
2,
|
||||
600,
|
||||
1920,
|
||||
1080,
|
||||
"h264",
|
||||
"aac",
|
||||
"assets/x"
|
||||
)
|
||||
);
|
||||
return a;
|
||||
}
|
||||
|
||||
@@ -26,9 +26,7 @@ public class ApplyShowMetadataTests
|
||||
var result = await ApplyAsync(arranged);
|
||||
|
||||
Assert.True(result);
|
||||
await arranged
|
||||
.Provider.Received(1)
|
||||
.GetShowAsync("42", kind, Arg.Any<CancellationToken>());
|
||||
await arranged.Provider.Received(1).GetShowAsync("42", kind, Arg.Any<CancellationToken>());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
@@ -48,7 +46,10 @@ public class ApplyShowMetadataTests
|
||||
// «Not Rated» — это отсутствие данных. Снять им проставленный рейтинг нельзя: обновление
|
||||
// метаданных тихо открыло бы взрослому шоу дорогу в детское время.
|
||||
var arranged = await ArrangeAsync(ShowKind.Single, ShowAudience.R);
|
||||
Respond(arranged.Provider, new ShowMetadata("42", "A", 2000, null, null, null, "Not Rated"));
|
||||
Respond(
|
||||
arranged.Provider,
|
||||
new ShowMetadata("42", "A", 2000, null, null, null, "Not Rated")
|
||||
);
|
||||
|
||||
await ApplyAsync(arranged);
|
||||
|
||||
@@ -63,11 +64,7 @@ public class ApplyShowMetadataTests
|
||||
Assert.False(await ApplyAsync(arranged));
|
||||
await arranged
|
||||
.Provider.DidNotReceive()
|
||||
.GetShowAsync(
|
||||
Arg.Any<string>(),
|
||||
Arg.Any<ShowKind>(),
|
||||
Arg.Any<CancellationToken>()
|
||||
);
|
||||
.GetShowAsync(Arg.Any<string>(), Arg.Any<ShowKind>(), Arg.Any<CancellationToken>());
|
||||
}
|
||||
|
||||
private static void Respond(IMetadataProvider provider, ShowMetadata meta) =>
|
||||
|
||||
@@ -38,9 +38,7 @@ public class LayerApplicabilityTests
|
||||
{
|
||||
// «20 декабря — 8 января» задаётся один раз и работает в любом году, поэтому сравнение идёт
|
||||
// по паре (месяц, день), а не по датам.
|
||||
var applicability = new LayerApplicability(
|
||||
AnnualRanges: [new AnnualRange(12, 20, 1, 8)]
|
||||
);
|
||||
var applicability = new LayerApplicability(AnnualRanges: [new AnnualRange(12, 20, 1, 8)]);
|
||||
|
||||
Assert.Equal(expected, applicability.Covers(new DateOnly(year, month, day)));
|
||||
}
|
||||
@@ -128,8 +126,12 @@ public class LayerApplicabilityTests
|
||||
Assert.Empty(Build(template));
|
||||
}
|
||||
|
||||
private static void AddSlot(GridLayer layer, string title, TimeOnly start, int durationMinutes) =>
|
||||
layer.AddSlot(title, start, durationMinutes);
|
||||
private static void AddSlot(
|
||||
GridLayer layer,
|
||||
string title,
|
||||
TimeOnly start,
|
||||
int durationMinutes
|
||||
) => layer.AddSlot(title, start, durationMinutes);
|
||||
|
||||
private static IReadOnlyList<ScheduledSlot> Build(
|
||||
ScheduleTemplate template,
|
||||
|
||||
@@ -15,9 +15,9 @@ public class PlanningRulesTests
|
||||
[InlineData(2, 0, false)]
|
||||
public void AudienceAt_DayWindow(int hour, int minute, bool inside)
|
||||
{
|
||||
var rules = new PlanningRules(
|
||||
[new AudienceWindow(new TimeOnly(6, 0), new TimeOnly(23, 0), ShowAudience.Pg13)]
|
||||
);
|
||||
var rules = new PlanningRules([
|
||||
new AudienceWindow(new TimeOnly(6, 0), new TimeOnly(23, 0), ShowAudience.Pg13),
|
||||
]);
|
||||
|
||||
var result = rules.AudienceAt(new TimeOnly(hour, minute));
|
||||
|
||||
@@ -31,9 +31,9 @@ public class PlanningRulesTests
|
||||
public void AudienceAt_WindowCrossingMidnight(int hour, int minute, bool inside)
|
||||
{
|
||||
// «С 23:00 до 06:00» — ночное окно, границы сравниваются в обратную сторону.
|
||||
var rules = new PlanningRules(
|
||||
[new AudienceWindow(new TimeOnly(23, 0), new TimeOnly(6, 0), ShowAudience.Nc17)]
|
||||
);
|
||||
var rules = new PlanningRules([
|
||||
new AudienceWindow(new TimeOnly(23, 0), new TimeOnly(6, 0), ShowAudience.Nc17),
|
||||
]);
|
||||
|
||||
var result = rules.AudienceAt(new TimeOnly(hour, minute));
|
||||
|
||||
@@ -44,12 +44,10 @@ public class PlanningRulesTests
|
||||
public void AudienceAt_OverlappingWindows_TakesTheStrictest()
|
||||
{
|
||||
// Широкое окно, случайно наложенное поверх детского, не должно его отменять.
|
||||
var rules = new PlanningRules(
|
||||
[
|
||||
new AudienceWindow(new TimeOnly(6, 0), new TimeOnly(23, 0), ShowAudience.R),
|
||||
new AudienceWindow(new TimeOnly(7, 0), new TimeOnly(10, 0), ShowAudience.G),
|
||||
]
|
||||
);
|
||||
var rules = new PlanningRules([
|
||||
new AudienceWindow(new TimeOnly(6, 0), new TimeOnly(23, 0), ShowAudience.R),
|
||||
new AudienceWindow(new TimeOnly(7, 0), new TimeOnly(10, 0), ShowAudience.G),
|
||||
]);
|
||||
|
||||
Assert.Equal(ShowAudience.G, rules.AudienceAt(new TimeOnly(8, 0)));
|
||||
Assert.Equal(ShowAudience.R, rules.AudienceAt(new TimeOnly(12, 0)));
|
||||
@@ -90,9 +88,9 @@ public class PlanningRulesTests
|
||||
// Рейтинг уезжает в jsonb шаблона и в API ровно тем написанием, каким приходит от источников.
|
||||
// Round-trip этого не поймает: он одинаково зелёный и на «Pg13», а такое значение потом
|
||||
// придётся переводить на каждой границе.
|
||||
var json = new PlanningRules(
|
||||
[new AudienceWindow(new TimeOnly(6, 0), new TimeOnly(23, 0), ShowAudience.Pg13)]
|
||||
).ToJson();
|
||||
var json = new PlanningRules([
|
||||
new AudienceWindow(new TimeOnly(6, 0), new TimeOnly(23, 0), ShowAudience.Pg13),
|
||||
]).ToJson();
|
||||
|
||||
Assert.Contains("\"PG-13\"", json, StringComparison.Ordinal);
|
||||
}
|
||||
|
||||
@@ -10,7 +10,6 @@ namespace TeleWave.Application.Tests.Validators;
|
||||
|
||||
public class ValidatorTests
|
||||
{
|
||||
|
||||
[Fact]
|
||||
public void UpdateBumperTextVariant_ChecksLengthsAndWeight()
|
||||
{
|
||||
@@ -55,7 +54,6 @@ public class ValidatorTests
|
||||
Assert.False(v.Validate(good with { Name = "" }).IsValid);
|
||||
}
|
||||
|
||||
|
||||
[Fact]
|
||||
public void ResetUserPassword_RequiresMinLength()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user