Note: You are currently viewing documentation for Moodle 3.6. Up-to-date documentation for the latest stable version of Moodle is likely available here: DB layer 2.0 functional testing.

Development:DB layer 2.0 functional testing

From MoodleDocs

Note: This page is a work-in-progress. Feedback and suggested improvements are welcome. Please join the discussion on moodle.org or use the page comments.


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
  • TestRenameKey Experimental
  • TestRenameField Experimental
  • 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?