Files
galaxy/app/src/code/editor/embedded_comment_tests.rs
T

158 lines
4.7 KiB
Rust

use super::{
comment_embedded_item_conversion, EmbeddedCommentSpace, EmbeddedItem as _,
COMMENT_ID_MAPPING_KEY, ENTITY_ID_MAPPING_KEY, WINDOW_ID_MAPPING_KEY,
};
use crate::code_review::comments::CommentId;
use serde_yaml::{Mapping, Value};
use galaxy_editor::content::markdown::MarkdownStyle;
use galaxyui::{EntityId, WindowId};
#[test]
fn test_comment_embedded_item_conversion_valid_input() {
let comment_id = CommentId::new();
let entity_id = EntityId::from_usize(123);
let window_id = WindowId::from_usize(456);
let mut mapping = Mapping::new();
mapping.insert(
Value::String(COMMENT_ID_MAPPING_KEY.to_string()),
Value::String(comment_id.to_string()),
);
mapping.insert(
Value::String(ENTITY_ID_MAPPING_KEY.to_string()),
Value::String(entity_id.to_string()),
);
mapping.insert(
Value::String(WINDOW_ID_MAPPING_KEY.to_string()),
Value::String(window_id.to_string()),
);
let result = comment_embedded_item_conversion(mapping);
assert!(result.is_some());
}
#[test]
fn test_comment_embedded_item_conversion_roundtrip() {
let comment_id = CommentId::new();
let entity_id = EntityId::from_usize(789);
let window_id = WindowId::from_usize(101);
let space = EmbeddedCommentSpace::new(comment_id, entity_id, window_id);
let mapping = space.to_mapping(MarkdownStyle::Internal);
let result = comment_embedded_item_conversion(mapping);
assert!(result.is_some());
}
#[test]
fn test_comment_embedded_item_conversion_missing_comment_id() {
let mut mapping = Mapping::new();
mapping.insert(
Value::String(ENTITY_ID_MAPPING_KEY.to_string()),
Value::String("123".to_string()),
);
mapping.insert(
Value::String(WINDOW_ID_MAPPING_KEY.to_string()),
Value::String("456".to_string()),
);
let result = comment_embedded_item_conversion(mapping);
assert!(result.is_none());
}
#[test]
fn test_comment_embedded_item_conversion_missing_entity_id() {
let comment_id = CommentId::new();
let mut mapping = Mapping::new();
mapping.insert(
Value::String(COMMENT_ID_MAPPING_KEY.to_string()),
Value::String(comment_id.to_string()),
);
mapping.insert(
Value::String(WINDOW_ID_MAPPING_KEY.to_string()),
Value::String("456".to_string()),
);
let result = comment_embedded_item_conversion(mapping);
assert!(result.is_none());
}
#[test]
fn test_comment_embedded_item_conversion_missing_window_id() {
let comment_id = CommentId::new();
let mut mapping = Mapping::new();
mapping.insert(
Value::String(COMMENT_ID_MAPPING_KEY.to_string()),
Value::String(comment_id.to_string()),
);
mapping.insert(
Value::String(ENTITY_ID_MAPPING_KEY.to_string()),
Value::String("123".to_string()),
);
let result = comment_embedded_item_conversion(mapping);
assert!(result.is_none());
}
#[test]
fn test_comment_embedded_item_conversion_invalid_uuid() {
let mut mapping = Mapping::new();
mapping.insert(
Value::String(COMMENT_ID_MAPPING_KEY.to_string()),
Value::String("not-a-valid-uuid".to_string()),
);
mapping.insert(
Value::String(ENTITY_ID_MAPPING_KEY.to_string()),
Value::String("123".to_string()),
);
mapping.insert(
Value::String(WINDOW_ID_MAPPING_KEY.to_string()),
Value::String("456".to_string()),
);
let result = comment_embedded_item_conversion(mapping);
assert!(result.is_none());
}
#[test]
fn test_comment_embedded_item_conversion_invalid_entity_id() {
let comment_id = CommentId::new();
let mut mapping = Mapping::new();
mapping.insert(
Value::String(COMMENT_ID_MAPPING_KEY.to_string()),
Value::String(comment_id.to_string()),
);
mapping.insert(
Value::String(ENTITY_ID_MAPPING_KEY.to_string()),
Value::String("not-a-number".to_string()),
);
mapping.insert(
Value::String(WINDOW_ID_MAPPING_KEY.to_string()),
Value::String("456".to_string()),
);
let result = comment_embedded_item_conversion(mapping);
assert!(result.is_none());
}
#[test]
fn test_comment_embedded_item_conversion_invalid_window_id() {
let comment_id = CommentId::new();
let mut mapping = Mapping::new();
mapping.insert(
Value::String(COMMENT_ID_MAPPING_KEY.to_string()),
Value::String(comment_id.to_string()),
);
mapping.insert(
Value::String(ENTITY_ID_MAPPING_KEY.to_string()),
Value::String("123".to_string()),
);
mapping.insert(
Value::String(WINDOW_ID_MAPPING_KEY.to_string()),
Value::String("not-a-number".to_string()),
);
let result = comment_embedded_item_conversion(mapping);
assert!(result.is_none());
}