Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test(todo_app_sqlite): add e2e tests (#1448) #1467

Merged
merged 18 commits into from
Aug 7, 2023

Conversation

agilarity
Copy link
Contributor

@agilarity agilarity commented Jul 29, 2023

Add E2E Testing

This example demonstrates e2e testing with Rust using executable requirements.

Testing Stack

Role Description
Cucumber Test Runner Run Gherkin specifications as Rust tests
Fantoccini Browser Client Interact with web pages through WebDriver
Cargo Leptos Build Tool Compile example and start the server and end-2-end tests
chromedriver WebDriver Provide WebDriver for Chrome

Testing Organization

Testing is organized around what a user can do and see/not see.

Here is a brief overview of how things fit together.

features                    # Specify test scenarios
tests
├── fixtures
│   ├── action.rs           # Perform a user action (click, type, etc.)
│   ├── check.rs            # Assert what a user can see/not see
│   ├── find.rs             # Query page elements
│   ├── mod.rs
│   └── world
│       ├── action_steps.rs # Map Gherkin steps to user actions
│       ├── check_steps.rs  # Map Gherkin steps to user expectations
│       └── mod.rs
└── manage_todos.rs         # Test main 

The above was copied from the e2e/README.md

Notes

@agilarity agilarity changed the title (WIP) test(todo_app_sqlite): add e2e tests (#1448) test(todo_app_sqlite): add e2e tests (#1448) Aug 7, 2023
@gbj gbj merged commit 69dd96f into leptos-rs:main Aug 7, 2023
7 checks passed
@agilarity agilarity deleted the e2e-todo_app_sqlite branch August 7, 2023 23:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

test(todo_app_sqlite): add e2e tests
2 participants