Development:DB layer 2.0 functional testing
From MoodleDocs
Note: This article is a work in progress. Please use the page comments or an appropriate moodle.org forum for any recommendations/suggestions for improvement.
Template:Development:dmllib 2.0
DDL tests
Based on tests already used in xmldb, the following have been implemented in simpletest:
- TestCreateTable
- TestDropTable
- TestAddEnumField
- TestAddNumericField
- TestDropField
- TestChangeFieldType
- TestChangeFieldPrecision
- TestChangeFieldSign
- TestChangeFieldNullability
- TestChangeFieldDefault
- TestAddUniqueIndex
- TestAddNonUniqueIndex
- TestFindIndexName
- TestDropIndex
- TestAddUniqueKey
- TestAddForeignUniqueKey
- TestDropKey
- TestAddForeignKey
- TestDropForeignKey
- TestChangeFieldEnum
- TestRenameIndex >>>Experimental<<<
- TestRenameKey >>>Experimental<<<
- TestRenameField
- TestRenameTable
The following database_manager method still need to be tested:
- table_exists
- field_exists
- index_exists
- find_check_constraint_name
- check_constraint_exists
- find_key_name
- find_sequence_name
- delete_tables_from_xmldb_file
- install_from_xmldb_file
- create_temp_table
Additionally, the tests need to be expanded to include boundary conditions, including invalid or incomplete parameters.
- How do these methods behave when given invalid params?
- Are exceptions in place, and are they caught appropriately?