MyTodoList is a Todo app with local authentication and UserDefaults as a database.
- Xcode 13 or higher
- iOS 15 or higher
- Fork the repo
- Clone the repo
- Run
MyTodo.xcodeproj
file
All views are written in SwiftUI and placed in Views
catalogue.
The text can be found in TodoError
, LoginError
and TodoError
enums, you can use these to assert the contents of the alerts.
Create automated UI tests for the following scenarios:
1. Create Account
* Username cannot be empty
* Password cannot be empty
* Password and Repeat Password do not match
* Username is already taken
* Create account with success
2. Login
* Username cannot be empty
* Password cannot be empty
* Authentication failed
3. Add new todo
* Title cannot be empty
* Add new todo from "Add something" button
* Add new todo from "Add" button
4. Todo list
* Text when no todos are available
* Mark Todo as done (tap on the todo)
* Todo is not done
* Delete Todo (swipe to delete)
5. Extra task
* Add possibility for clearing test data by using `LaunchArguments.append("clearLocalData")` parameter in tests
Finally feel free to modify the existing code. The application is for you.
MIT License. Created by @DawidBastek and @matulik