mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-07-08 08:11:31 +08:00
refactor(subscribe): 统一 lack_episode 语义并暴露 completed_episode 派生字段 (#5817)
This commit is contained in:
@@ -413,7 +413,6 @@ class SubscribeChainTest(TestCase):
|
||||
current_priority=100,
|
||||
)
|
||||
|
||||
self.assertEqual(SubscribeChain.get_best_version_lack_episode(subscribe), 3)
|
||||
self.assertEqual(SubscribeChain.get_best_version_current_priority(subscribe), 90)
|
||||
self.assertFalse(SubscribeChain.is_best_version_complete(subscribe))
|
||||
|
||||
@@ -424,7 +423,6 @@ class SubscribeChainTest(TestCase):
|
||||
current_priority=90,
|
||||
)
|
||||
|
||||
self.assertEqual(SubscribeChain.get_best_version_lack_episode(subscribe), 0)
|
||||
self.assertEqual(SubscribeChain.get_best_version_current_priority(subscribe), 100)
|
||||
self.assertTrue(SubscribeChain.is_best_version_complete(subscribe))
|
||||
|
||||
@@ -705,7 +703,8 @@ class SubscribeChainTest(TestCase):
|
||||
payload = subscribe_oper.update.call_args.args[1]
|
||||
self.assertEqual(payload["episode_priority"], {"1": 100, "2": 80, "3": 90, "4": 60})
|
||||
self.assertEqual(payload["current_priority"], 90)
|
||||
self.assertEqual(payload["lack_episode"], 3)
|
||||
# update_subscribe_priority 不再回写 lack_episode;lack 由下载链路末端的 __update_lack_episodes 维护
|
||||
self.assertNotIn("lack_episode", payload)
|
||||
self.assertEqual(subscribe.episode_priority, {"1": 100, "2": 80, "3": 90, "4": 60})
|
||||
self.assertEqual(subscribe.current_priority, 90)
|
||||
self.assertEqual(subscribe.lack_episode, 3)
|
||||
@@ -743,7 +742,8 @@ class SubscribeChainTest(TestCase):
|
||||
payload = subscribe_oper.update.call_args.args[1]
|
||||
self.assertEqual(payload["episode_priority"], {"1": 100, "2": 100, "3": 100})
|
||||
self.assertEqual(payload["current_priority"], 100)
|
||||
self.assertEqual(payload["lack_episode"], 0)
|
||||
# 完成判定仍由 __is_best_version_complete 走 episode_priority 字典做出,lack_episode 不参与
|
||||
self.assertNotIn("lack_episode", payload)
|
||||
finish_mock.assert_called_once_with(subscribe=subscribe, meta=meta, mediainfo=mediainfo)
|
||||
|
||||
def test_full_best_version_updates_all_episodes_when_pack_has_no_episode_metadata(self):
|
||||
@@ -776,7 +776,7 @@ class SubscribeChainTest(TestCase):
|
||||
payload = subscribe_oper.update.call_args.args[1]
|
||||
self.assertEqual(payload["episode_priority"], {"1": 100, "2": 100, "3": 100})
|
||||
self.assertEqual(payload["current_priority"], 100)
|
||||
self.assertEqual(payload["lack_episode"], 0)
|
||||
self.assertNotIn("lack_episode", payload)
|
||||
finish_mock.assert_called_once_with(subscribe=subscribe, meta=meta, mediainfo=mediainfo)
|
||||
|
||||
def test_episode_best_version_updates_all_episodes_when_full_pack_has_no_episode_metadata(self):
|
||||
@@ -809,7 +809,7 @@ class SubscribeChainTest(TestCase):
|
||||
payload = subscribe_oper.update.call_args.args[1]
|
||||
self.assertEqual(payload["episode_priority"], {"1": 100, "2": 100, "3": 100})
|
||||
self.assertEqual(payload["current_priority"], 100)
|
||||
self.assertEqual(payload["lack_episode"], 0)
|
||||
self.assertNotIn("lack_episode", payload)
|
||||
finish_mock.assert_called_once_with(subscribe=subscribe, meta=meta, mediainfo=mediainfo)
|
||||
|
||||
def test_check_resets_current_priority_when_new_episodes_expand_target_range(self):
|
||||
|
||||
Reference in New Issue
Block a user