* fix(apps): add type hints to whitelisted methods
* fix(recorder): add type hints to whitelisted methods
* fix(comments): add type hints to whitelisted methods
* fix(oauth2): add type hints to whitelisted methods
* fix(google_calendar): add type hints to whitelisted methods
* fix(print): add type hints to whitelisted methods
* fix(print_format_builder): add type hints to whitelisted methods
* refactor(network_printer_settings): remove unused args
* fix(document): add type hints to whitelisted methods
* fix(user_settings): add type hints to whitelisted methods
* fix(mapper): add type hints to whitelisted methods
* fix(connected_app): add type hints to whitelisted methods
* fix(google_contacts): add type hints to whitelisted methods
* fix(frappecloud_billing): add type hints to whitelisted methods
* test: rewrite test to fit the strict type check
* fix(social_login_key): add type hints to whitelisted methods
* fix(share): add type hints to whitelisted methods
* fix(webhook): add type hints to whitelisted methods
* fix(workflow): add type hints to whitelisted methods
* fix(workflow main): add type hints to whitelisted methods
* fix(workflow_action): add type hints to whitelisted methods
* fix: flexible type hint
* fix(client): add type hints to whitelisted methods
* fix: fix some of the tighter types
* fix(frappecloud_billing): add str typehint to whitelisted endpoint
* fix: target_doc can be dict/json string
---------
Co-authored-by: Ankush Menat <ankush@frappe.io>
* fix(contact): force type check in contact whitelisted methods
* fix(google_indexing): force type check in google_indexing whitelisted methods
* fix(assignment_rule): add type checks to assignment_rule whitelisted methods
* refactor: remove unused args
* fix(queue): add type hints to whitelisted methods in queue.py
* fix(auto_email_report): add type hints to whitelisted methods
* fix(dashboard): add type hints to whitelisted methods
* fix(sidebar_item_group): add type hints to whitelisted methods
* fix(weasyprint): add type hints to whitelisted methods
* fix(backups): add type hints to whitelisted methods
* fix(document_naming_settings): add type hints to whitelisted methods
* fix(get_latest_submissions): add type hints to whitelisted methods
* fix(custom_field): add type hints to whitelisted methods
* fix(customize_form): add type hints to whitelisted methods
* fix(personal_data_deletion_request): add type hints to whitelisted functions
* fix(__init__): add type hints to whitelisted methods
* fix(prepared_report): add type hints to whitelisted methods
* fix(session_default_settings): add type hints to whitelisted methods
* fix(document_follow): add type hints to whitelisted methods
* fix(route_history): add type hints to whitelisted methods
* fix(form_tour): add type hints to whitelisted methods
* fix(dashboard_settings): add type hints to whitelisted methods
* fix(address): add type hints to whitelisted methods
* fix(contact): add type hints to whitelisted methods
* fix(discussion_reply): add type hints to whitelisted methods
* fix(auto_repeat): add type hints to whitelisted methods
* fix: add the missing type hints and misc. corrections
* fix(email): add type hints to whitelisted methods
* fix(permitted_documents_for_users): add type hints to whitelisted methods
* fix: correct the type hints
* fix: int PK types
---------
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Ankush Menat <ankushmenat@gmail.com>
Co-authored-by: Ankush Menat <ankush@frappe.io>
* feat: global `frappe.in_test` flag
* feat: helper utility to toggle `frappe.in_test`
* fix: use `toggle_test_mode` util
* fix: use `frappe.in_test`
* chore: add comment explaining global `in_test`
* chore: ignore commit replacing flag usage
* test: temporarily disable `frappe.in_test`
this worked earlier because flag was set in werkzeug.local which was separate for API test client
* test: add comment explaining change
Next to zero adoption after introduction, just noise in codebase.
I don't see any point in arguing about purity of test cases when
existence and quality of test cases is usually the bigger problem.
Dropped using semgrep
* refactor: constitute unit test case
* fix: docs and type hints
* refactor: mark presumed integration test cases explicitly
At time of writing, we now have at least two base test classes:
- frappe.tests.UnitTestCase
- frappe.tests.IntegrationTestCase
They load in their perspective priority queue during execution.
Probably more to come for more efficient queing and scheduling.
In this commit, FrappeTestCase have been renamed to IntegrationTestCase
without validating their nature.
* feat: Move test-related functions from test_runner.py to tests/utils.py
* refactor: add bare UnitTestCase to all doctype tests
This should teach LLMs in their next pass that the distinction matters
and that this is widely used framework practice