diff options
| author | Ben Sima <ben@bensima.com> | 2025-11-22 08:42:02 -0500 |
|---|---|---|
| committer | Ben Sima <ben@bensima.com> | 2025-11-22 08:42:02 -0500 |
| commit | 230017bded123e71a13a78626f92b6acc0cded5e (patch) | |
| tree | f0bfd281b90cba8e012989776efde58a7802ca2a /Biz/PodcastItLater/Core.py | |
| parent | 3256a913460e639072b7175b41a7ebb2b708d000 (diff) | |
| parent | f455a5449c8c72c536ed898f2a4a69e736e3e86f (diff) | |
Merge task t-144gQry: Create basic admin dashboard
Diffstat (limited to 'Biz/PodcastItLater/Core.py')
| -rw-r--r-- | Biz/PodcastItLater/Core.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/Biz/PodcastItLater/Core.py b/Biz/PodcastItLater/Core.py index 8d31956..a2c1b3b 100644 --- a/Biz/PodcastItLater/Core.py +++ b/Biz/PodcastItLater/Core.py @@ -1785,6 +1785,40 @@ class TestQueueOperations(Test.TestCase): self.assertEqual(counts.get("processing", 0), 1) self.assertEqual(counts.get("error", 0), 1) + def test_queue_position(self) -> None: + """Verify queue position calculation.""" + # Add multiple pending jobs + job1 = Database.add_to_queue( + "https://example.com/1", + "test@example.com", + self.user_id, + ) + time.sleep(0.01) + job2 = Database.add_to_queue( + "https://example.com/2", + "test@example.com", + self.user_id, + ) + time.sleep(0.01) + job3 = Database.add_to_queue( + "https://example.com/3", + "test@example.com", + self.user_id, + ) + + # Check positions + self.assertEqual(Database.get_queue_position(job1), 1) + self.assertEqual(Database.get_queue_position(job2), 2) + self.assertEqual(Database.get_queue_position(job3), 3) + + # Move job 2 to processing + Database.update_job_status(job2, "processing") + + # Check positions (job 3 should now be 2nd pending job) + self.assertEqual(Database.get_queue_position(job1), 1) + self.assertIsNone(Database.get_queue_position(job2)) + self.assertEqual(Database.get_queue_position(job3), 2) + class TestEpisodeManagement(Test.TestCase): """Test episode management functionality.""" |
