* 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>
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: toml test records for readability
* fix: maintain backwards compatibility
* refactor: transform in-tree records
* chore: don't use deprecated functions (treewide)
* chore: revert migration of tests which depend on old test records list
* feat: add cls.globalTestRecords on IntegrationTestCase
* 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
Some features rely on the Contact having the primary email set. If the Contact has only one email address, we can mark it as primary automatically. Only if there are more than one addresses available, the user has to choose which one should be set as primary.