Skip to content
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 71 additions & 0 deletions editor/src/test_utils.rs
Original file line number Diff line number Diff line change
Expand Up @@ -376,3 +376,74 @@ pub mod test_prelude {
};
}
}

#[cfg(test)]
mod test {
use super::*;

/// - create editor
/// - assert it initializes without panicking
#[tokio::test]
async fn editor_creates_successfully() {
let _editor = EditorTestUtils::create();
}

/// - create editor
/// - create new document
/// - assert active document exists
#[tokio::test]
async fn new_document_is_active() {
let mut editor = EditorTestUtils::create();
editor.new_document().await;
Comment thread
yuvraj-kolkar17 marked this conversation as resolved.
Outdated
assert!(editor.active_document().metadata().all_layers().count() == 0);
Comment thread
yuvraj-kolkar17 marked this conversation as resolved.
Outdated
}

/// - create editor
/// - create new document
/// - draw a rect using draw_rect helper
/// - assert one layer exists
#[tokio::test]
async fn draw_rect_helper_creates_layer() {
let mut editor = EditorTestUtils::create();
editor.new_document().await;
editor.draw_rect(0., 0., 100., 100.).await;
assert_eq!(editor.active_document().metadata().all_layers().count(), 1);
}

/// - create editor
/// - create new document
/// - draw an ellipse using draw_ellipse helper
/// - assert one layer exists
#[tokio::test]
async fn draw_ellipse_helper_creates_layer() {
let mut editor = EditorTestUtils::create();
editor.new_document().await;
editor.draw_ellipse(0., 0., 100., 100.).await;
assert_eq!(editor.active_document().metadata().all_layers().count(), 1);
}

/// - create editor
/// - create new document
/// - select primary color red
/// - assert no layer added
#[tokio::test]
async fn select_primary_color_does_not_add_layer() {
let mut editor = EditorTestUtils::create();
editor.new_document().await;
editor.select_primary_color(Color::RED).await;
assert_eq!(editor.active_document().metadata().all_layers().count(), 0);
}

/// - create editor
/// - create new document
/// - draw rect then ellipse
/// - assert two layers exist
#[tokio::test]
async fn draw_two_shapes_gives_two_layers() {
let mut editor = EditorTestUtils::create();
editor.new_document().await;
editor.draw_rect(0., 0., 100., 100.).await;
editor.draw_ellipse(0., 0., 100., 100.).await;
assert_eq!(editor.active_document().metadata().all_layers().count(), 2);
}
}