aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-08-23 18:26:25 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-08-24 11:45:13 +0200
commitee576400ce9c9e4f5d4ce420987ffd3ebe8ff5e0 (patch)
tree17c3e56fa20196a3ca8a04dadd2b81c96e843218
parentfeat(select/cmds): Add a `watched` command (diff)
downloadyt-ee576400ce9c9e4f5d4ce420987ffd3ebe8ff5e0.zip
test(storage/setters): Assert the video status in `set_video_watched`
Diffstat (limited to '')
-rw-r--r--src/storage/video_database/setters.rs18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/storage/video_database/setters.rs b/src/storage/video_database/setters.rs
index fcafcd4..c160138 100644
--- a/src/storage/video_database/setters.rs
+++ b/src/storage/video_database/setters.rs
@@ -12,7 +12,7 @@
use anyhow::Result;
use chrono::Utc;
-use log::debug;
+use log::{debug, info};
use sqlx::query;
use tokio::fs;
@@ -116,6 +116,8 @@ pub async fn set_video_watched(app: &App, video: &Video) -> Result<()> {
let video_hash = video.extractor_hash.hash().to_string();
let new_status = VideoStatus::Watched.as_db_integer();
+ info!("Will set video watched: '{}'", video.title);
+
let old = query!(
r#"
SELECT status, priority
@@ -127,9 +129,15 @@ pub async fn set_video_watched(app: &App, video: &Video) -> Result<()> {
.fetch_one(&app.database)
.await?;
- if old.status == new_status {
- unreachable!("The video should not be marked as watched already.")
- }
+ assert_ne!(
+ old.status, new_status,
+ "The video should not be marked as watched already."
+ );
+ assert_eq!(
+ old.status,
+ VideoStatus::Cached.as_db_integer(),
+ "The video should have been marked cached"
+ );
let now = Utc::now().timestamp();
@@ -180,7 +188,7 @@ pub async fn set_state_change(
pub async fn set_video_options(
app: &App,
- hash: ExtractorHash,
+ hash: &ExtractorHash,
video_options: &VideoOptions,
) -> Result<()> {
let video_extractor_hash = hash.hash().to_string();