diff --git a/src-tauri/src/models/ticket.rs b/src-tauri/src/models/ticket.rs index fae1ac4..f67eff4 100644 --- a/src-tauri/src/models/ticket.rs +++ b/src-tauri/src/models/ticket.rs @@ -62,8 +62,8 @@ impl ProcessedTicket { let inserted_rows = conn.execute( "INSERT OR IGNORE INTO processed_tickets \ - (id, tracker_id, artifact_id, artifact_title, artifact_data, status, detected_at) \ - VALUES (?1, ?2, ?3, ?4, ?5, 'Pending', ?6)", + (id, tracker_id, project_id, artifact_id, artifact_title, artifact_data, status, detected_at) \ + VALUES (?1, ?2, (SELECT project_id FROM watched_trackers WHERE id = ?2), ?3, ?4, ?5, 'Pending', ?6)", params![ id, tracker_id, @@ -319,6 +319,7 @@ mod tests { #[test] fn test_insert_if_new_creates_ticket() { let (conn, tracker_id) = setup(); + let expected_project_id = project_id_for_tracker(&conn, &tracker_id); let result = ProcessedTicket::insert_if_new( &conn, @@ -337,6 +338,15 @@ mod tests { assert_eq!(ticket.artifact_title, "Fix login bug"); assert!(ticket.analyst_report.is_none()); assert!(ticket.processed_at.is_none()); + + let persisted_project_id: Option = conn + .query_row( + "SELECT project_id FROM processed_tickets WHERE id = ?1", + params![ticket.id], + |row| row.get(0), + ) + .expect("project_id query should succeed"); + assert_eq!(persisted_project_id, Some(expected_project_id)); } #[test]