acorn-lib 0.1.72

ACORN library
Documentation
//! Tests for Display implementations of database row structs
use crate::io::database::schema::*;
use jiff::Timestamp;

#[test]
fn test_activity_row_display() {
    let row = ActivityRow {
        id: Some(1),
        command: Some("check".to_string()),
        executed_at: Some(Timestamp::now()),
        user_path: Some("/path/to/file".to_string()),
        success: Some(true),
    };
    let display = format!("{}", row);
    assert!(display.contains("ActivityRow"));
    assert!(display.contains("id: 1"));
    assert!(display.contains("command: check"));
    assert!(display.contains("success: true"));
}
#[test]
fn test_catalog_row_display() {
    let row = CatalogRow {
        id: Some(1),
        bucket_name: Some("test-bucket".to_string()),
        bucket_url: Some("https://example.com/bucket".to_string()),
        identifier: Some("test-identifier".to_string()),
        title: Some("Test Title".to_string()),
        updated_at: Some(Timestamp::now()),
    };
    let display = format!("{}", row);
    assert!(display.contains("CatalogRow"));
    assert!(display.contains("id: 1"));
    assert!(display.contains("bucket: test-bucket"));
    assert!(display.contains("identifier: test-identifier"));
    assert!(display.contains("title: Test Title"));
}
#[test]
fn test_link_cache_row_display() {
    let row = LinkCacheRow {
        id: Some(1),
        url: Some("https://example.com".to_string()),
        status_code: Some(200),
        is_reachable: Some(true),
        checked_at: Some(Timestamp::now()),
        expires_at: Some(Timestamp::now()),
    };
    let display = format!("{}", row);
    assert!(display.contains("LinkCacheRow"));
    assert!(display.contains("id: 1"));
    assert!(display.contains("url: https://example.com"));
    assert!(display.contains("status: 200"));
    assert!(display.contains("reachable: true"));
}
#[test]
fn test_programming_language_row_display() {
    let row = ProgrammingLanguageRow {
        id: Some(1),
        language_id: Some(303),
        name: Some("Python".to_string()),
        language_type: Some("programming".to_string()),
        color: Some("#3572A5".to_string()),
        group_name: Some("Python".to_string()),
    };
    let display = format!("{}", row);
    assert!(display.contains("ProgrammingLanguageRow"));
    assert!(display.contains("id: 1"));
    assert!(display.contains("language_id: 303"));
    assert!(display.contains("name: Python"));
    assert!(display.contains("type: programming"));
}
#[test]
fn test_research_activity_row_display() {
    let row = ResearchActivityRow {
        id: Some(1),
        iid: Some("portable-id".to_string()),
        rad_json: Some("{}".to_string()),
        identity_keys_json: Some("[]".to_string()),
        provenance_json: Some("[]".to_string()),
        created_at: Some(Timestamp::now()),
        updated_at: Some(Timestamp::now()),
    };
    let display = format!("{}", row);
    assert!(display.contains("ResearchActivityRow"));
    assert!(display.contains("id: 1"));
    assert!(display.contains("iid: portable-id"));
}
#[test]
fn test_validation_row_display() {
    let row = ValidationRow {
        id: Some(1),
        path: Some("/path/to/file".to_string()),
        check_type: Some("schema".to_string()),
        success: Some(true),
        message: Some("Validation passed".to_string()),
        checked_at: Some(Timestamp::now()),
    };
    let display = format!("{}", row);
    assert!(display.contains("ValidationRow"));
    assert!(display.contains("id: 1"));
    assert!(display.contains("path: /path/to/file"));
    assert!(display.contains("type: schema"));
    assert!(display.contains("success: true"));
    assert!(display.contains("message: Validation passed"));
}