69 lines
2.3 KiB
Rust
69 lines
2.3 KiB
Rust
use makepad_test::{makepad_test, Selector, TestApp};
|
|
|
|
#[makepad_test]
|
|
fn todo_smoke(app: TestApp) {
|
|
app.locator(Selector::id("todo_input")).wait_visible();
|
|
app.locator(Selector::all().text_exact("Get AI to control UI"))
|
|
.wait_visible();
|
|
}
|
|
|
|
#[makepad_test]
|
|
fn todo_add_toggle_delete_and_disambiguate_duplicates(app: TestApp) {
|
|
app.locator(Selector::widget_type("CheckBox").nth(0))
|
|
.click()
|
|
.wait_checked(false);
|
|
|
|
for _ in 0..2 {
|
|
app.locator(Selector::id("todo_input"))
|
|
.fill("Write tests")
|
|
.wait_value("Write tests");
|
|
app.locator(Selector::id("add_button")).click();
|
|
}
|
|
|
|
app.locator(Selector::all().text_exact("Write tests"))
|
|
.wait_count(2);
|
|
app.locator(Selector::widget_type("CheckBox")).wait_count(3);
|
|
app.locator(Selector::widget_type("CheckBox").nth(1))
|
|
.click()
|
|
.wait_checked(true);
|
|
app.locator(Selector::all().text_exact("x").nth(2)).click();
|
|
app.locator(Selector::all().text_exact("Write tests"))
|
|
.wait_count(1);
|
|
app.locator(Selector::widget_type("CheckBox")).wait_count(2);
|
|
}
|
|
|
|
#[makepad_test]
|
|
fn todo_clear_completed_removes_only_checked_items(app: TestApp) {
|
|
for item in ["Pay invoice", "Email Ada", "Ship demo"] {
|
|
app.locator(Selector::id("todo_input"))
|
|
.fill(item)
|
|
.wait_value(item);
|
|
app.locator(Selector::id("add_button")).click();
|
|
}
|
|
|
|
app.locator(Selector::all().text_exact("Pay invoice"))
|
|
.wait_visible();
|
|
app.locator(Selector::all().text_exact("Email Ada"))
|
|
.wait_visible();
|
|
app.locator(Selector::all().text_exact("Ship demo"))
|
|
.wait_visible();
|
|
|
|
app.locator(Selector::widget_type("CheckBox").nth(1))
|
|
.click()
|
|
.wait_checked(true);
|
|
app.locator(Selector::widget_type("CheckBox").nth(3))
|
|
.click()
|
|
.wait_checked(true);
|
|
|
|
app.locator(Selector::id("clear_done")).click();
|
|
|
|
app.locator(Selector::all().text_exact("Get AI to control UI"))
|
|
.wait_count(0);
|
|
app.locator(Selector::all().text_exact("Pay invoice"))
|
|
.wait_count(0);
|
|
app.locator(Selector::all().text_exact("Email Ada"))
|
|
.wait_visible();
|
|
app.locator(Selector::all().text_exact("Ship demo"))
|
|
.wait_count(0);
|
|
app.locator(Selector::widget_type("CheckBox")).wait_count(1);
|
|
}
|