Implement template export/import endpoints and enhance grid generation logic
Added new endpoints for exporting and importing grid configurations in TemplateEndpoints, allowing for better management of template data. Enhanced the GenerateGridCommandHandler to support seasonal layers in grid generation, improving scheduling accuracy during holiday periods. Updated related classes and records to accommodate these changes, ensuring a cohesive integration of new features. Improved documentation for clarity and maintainability.
This commit is contained in:
@@ -66,19 +66,28 @@ public class BumperPlaceholdersTests
|
||||
{
|
||||
var empty = new BumperContext("Канал", null, Moment);
|
||||
|
||||
// Ни следующей программы, ни номера канала: строка схлопывается, осиротевший разделитель уходит.
|
||||
Assert.Equal("СЕЙЧАС", BumperPlaceholders.Resolve("СЕЙЧАС — {now.title}", empty));
|
||||
// Ни текущей, ни следующей программы: строка писалась ради них и исчезает целиком —
|
||||
// «СЕЙЧАС» в кадре без названия ничего не значит.
|
||||
Assert.Equal("", BumperPlaceholders.Resolve("СЕЙЧАС — {now.title}", empty));
|
||||
Assert.Equal("", BumperPlaceholders.Resolve("{next.title}", empty));
|
||||
// А подставилось хоть что-то — строка остаётся, осиротевший хвост подчищается.
|
||||
Assert.Equal("Канал", BumperPlaceholders.Resolve("{channel} {channel.number}", empty));
|
||||
// А висящий предлог остаётся: отличить его от слова в чужом тексте нельзя.
|
||||
Assert.Equal("ДАЛЕЕ В", BumperPlaceholders.Resolve("ДАЛЕЕ В {next.time}", empty));
|
||||
// Строка, где не подставился ни один плейсхолдер, исчезает целиком: «ДАЛЕЕ В» без времени —
|
||||
// это мусор в кадре, а не подпись.
|
||||
Assert.Equal("", BumperPlaceholders.Resolve("ДАЛЕЕ В {next.time}", empty));
|
||||
// А постоянный текст без плейсхолдеров остаётся всегда.
|
||||
Assert.Equal("СЕЙЧАС", BumperPlaceholders.Resolve("СЕЙЧАС", empty));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Resolve_UnknownTokenBecomesEmpty()
|
||||
public void Resolve_UnknownTokenLeavesNothing()
|
||||
{
|
||||
Assert.Equal("Далее", BumperPlaceholders.Resolve("Далее {next.tittle}", Full()));
|
||||
// Незнакомый плейсхолдер подставить нечем, а значит и строка пуста — как если бы данных
|
||||
// не нашлось. Сохранить такую строку валидатор всё равно не даст.
|
||||
Assert.Equal("", BumperPlaceholders.Resolve("Далее {next.tittle}", Full()));
|
||||
Assert.Equal("", BumperPlaceholders.Resolve(" ", Full()));
|
||||
// Постоянный текст без плейсхолдеров остаётся как есть.
|
||||
Assert.Equal("Далее", BumperPlaceholders.Resolve("Далее", Full()));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
||||
Reference in New Issue
Block a user