use crate::models::{
properties::{DateOrDateTime, RollupPropertyValue, RollupValue},
PropertyValue,
};
use chrono::NaiveDate;
#[test]
fn verify_date_parsing() {
let date = NaiveDate::from_ymd_opt(2021, 01, 02).unwrap();
let result = serde_json::to_string(&DateOrDateTime::Date(date)).unwrap();
let parsed: DateOrDateTime = serde_json::from_str(&result).unwrap();
println!("{:?}", parsed);
}
#[test]
fn parse_date_property() {
let _property: PropertyValue =
serde_json::from_str(include_str!("tests/date_property.json")).unwrap();
}
#[test]
fn parse_null_select_property() {
let _property: PropertyValue =
serde_json::from_str(include_str!("tests/null_select_property.json")).unwrap();
}
#[test]
fn parse_select_property() {
let _property: PropertyValue =
serde_json::from_str(include_str!("tests/select_property.json")).unwrap();
}
#[test]
fn parse_text_property_with_link() {
let _property: PropertyValue =
serde_json::from_str(include_str!("tests/text_with_link.json")).unwrap();
}
#[test]
fn parse_rollup_property() {
let property: PropertyValue =
serde_json::from_str(include_str!("tests/rollup_property.json")).unwrap();
assert!(matches!(
property,
PropertyValue::Rollup {
rollup: Some(RollupValue::Array { .. }),
..
}
));
if let PropertyValue::Rollup {
rollup: Some(RollupValue::Array { array }),
..
} = property
{
assert!(matches!(array[0], RollupPropertyValue::Text { .. }))
}
}