From 9ca164bdbc5c8edcfbb05b4a0a6117ba3e7e61bf Mon Sep 17 00:00:00 2001 From: Yuvraj Kolkar Date: Mon, 23 Mar 2026 23:05:26 +0530 Subject: [PATCH 1/2] Add tests for EditorTestUtils helper methods Signed-off-by: Yuvraj Kolkar --- editor/src/test_utils.rs | 71 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/editor/src/test_utils.rs b/editor/src/test_utils.rs index 40d6c30a1c..055c880891 100644 --- a/editor/src/test_utils.rs +++ b/editor/src/test_utils.rs @@ -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; + assert!(editor.active_document().metadata().all_layers().count() == 0); + } + + /// - 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); + } +} From 26899194fb645c4d9110d52b7aec76abefda09b2 Mon Sep 17 00:00:00 2001 From: Yuvraj Kolkar Date: Tue, 24 Mar 2026 23:02:12 +0530 Subject: [PATCH 2/2] Resolve Signed-off-by: Yuvraj Kolkar --- editor/src/test_utils.rs | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/editor/src/test_utils.rs b/editor/src/test_utils.rs index 055c880891..36f976ffd5 100644 --- a/editor/src/test_utils.rs +++ b/editor/src/test_utils.rs @@ -380,7 +380,13 @@ pub mod test_prelude { #[cfg(test)] mod test { use super::*; - + + async fn create_editor_with_new_document() -> EditorTestUtils { + let mut editor = EditorTestUtils::create(); + editor.new_document().await; + editor + } + /// - create editor /// - assert it initializes without panicking #[tokio::test] @@ -393,9 +399,8 @@ mod test { /// - assert active document exists #[tokio::test] async fn new_document_is_active() { - let mut editor = EditorTestUtils::create(); - editor.new_document().await; - assert!(editor.active_document().metadata().all_layers().count() == 0); + let editor = create_editor_with_new_document().await; + assert_eq!(editor.active_document().metadata().all_layers().count(), 0); } /// - create editor @@ -404,8 +409,7 @@ mod test { /// - assert one layer exists #[tokio::test] async fn draw_rect_helper_creates_layer() { - let mut editor = EditorTestUtils::create(); - editor.new_document().await; + let mut editor = create_editor_with_new_document().await; editor.draw_rect(0., 0., 100., 100.).await; assert_eq!(editor.active_document().metadata().all_layers().count(), 1); } @@ -416,8 +420,7 @@ mod test { /// - assert one layer exists #[tokio::test] async fn draw_ellipse_helper_creates_layer() { - let mut editor = EditorTestUtils::create(); - editor.new_document().await; + let mut editor = create_editor_with_new_document().await; editor.draw_ellipse(0., 0., 100., 100.).await; assert_eq!(editor.active_document().metadata().all_layers().count(), 1); } @@ -428,8 +431,7 @@ mod test { /// - assert no layer added #[tokio::test] async fn select_primary_color_does_not_add_layer() { - let mut editor = EditorTestUtils::create(); - editor.new_document().await; + let mut editor = create_editor_with_new_document().await; editor.select_primary_color(Color::RED).await; assert_eq!(editor.active_document().metadata().all_layers().count(), 0); } @@ -440,8 +442,7 @@ mod test { /// - assert two layers exist #[tokio::test] async fn draw_two_shapes_gives_two_layers() { - let mut editor = EditorTestUtils::create(); - editor.new_document().await; + let mut editor = create_editor_with_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);