Правки: дата на стр. загрузки, ссылка TVDB по типу, заголовки в Telegram
- Веб-UI: под шапкой страницы загрузки — дата добавления и относительная давность («N дней назад»), как в карточках списка. - Баг: ссылка-dereferrer TVDB для фильма вела на /series/; теперь строится по типу запроса (/movie/ либо /series/). Тест + правка спеки metadata-match. - Telegram: заголовки уведомлений (готово/ошибка/рассинхрон) берутся из display_name — консистентно с веб-UI; сезон подтягивается автоматически. - Telegram: в сообщениях об ошибке — и заголовок, и #id загрузки (ULID) для быстрого поиска по логам. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -108,7 +108,7 @@ const tid = "01arz3ndektsv4rrffq69g5fav"
|
||||
func reviewData(state store.State) *worker.ReviewData {
|
||||
s, e := 2, 1
|
||||
return &worker.ReviewData{
|
||||
Download: store.Download{ID: tid, State: state, Context: "Фарго, второй сезон", SourceRef: "magnet:?x"},
|
||||
Download: store.Download{ID: tid, State: state, DisplayName: "Фарго (2015). Сезон 2", Context: "Фарго, второй сезон", SourceRef: "magnet:?x"},
|
||||
Recognition: &store.Recognition{
|
||||
Provider: store.NullString("tvdb"), ProviderID: store.NullString("269613"),
|
||||
Reasons: `["неполный пак"]`,
|
||||
@@ -255,7 +255,9 @@ func TestBot_NotifyDone(t *testing.T) {
|
||||
rev.data = reviewData(store.StateDone)
|
||||
b.Notify(context.Background(), tid, worker.EventDone)
|
||||
|
||||
if len(api.sent) != 1 || !strings.Contains(api.sent[0].text, "Готово") {
|
||||
// Заголовок берётся из display_name (консистентно с веб-UI), а не из Plan.Title.
|
||||
if len(api.sent) != 1 || !strings.Contains(api.sent[0].text, "Готово") ||
|
||||
!strings.Contains(api.sent[0].text, "Фарго (2015). Сезон 2") {
|
||||
t.Errorf("sent = %+v", api.sent)
|
||||
}
|
||||
}
|
||||
@@ -265,7 +267,10 @@ func TestBot_NotifyFailed(t *testing.T) {
|
||||
rev.data = reviewData(store.StateFailed)
|
||||
b.Notify(context.Background(), tid, worker.EventFailed)
|
||||
|
||||
if len(api.sent) != 1 || !strings.Contains(api.sent[0].text, "не удалась") {
|
||||
// В ошибке — и заголовок (display_name), и #id для поиска по логам.
|
||||
if len(api.sent) != 1 || !strings.Contains(api.sent[0].text, "не удалась") ||
|
||||
!strings.Contains(api.sent[0].text, "Фарго (2015). Сезон 2") ||
|
||||
!strings.Contains(api.sent[0].text, "#"+tid) {
|
||||
t.Errorf("sent = %+v", api.sent)
|
||||
}
|
||||
if !api.sent[0].hasKB { // кнопка повтора
|
||||
|
||||
Reference in New Issue
Block a user