From 84c2a87b806cbb1b14131706da9ef4cd301892dc Mon Sep 17 00:00:00 2001 From: Juan Leyva Date: Tue, 25 Jul 2017 14:19:49 +0200 Subject: [PATCH] MDL-59619 mod_data: Fix get_fields WS for databases without fields --- mod/data/classes/external.php | 2 +- mod/data/tests/externallib_test.php | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/mod/data/classes/external.php b/mod/data/classes/external.php index e71c98c162c..65670ef0728 100644 --- a/mod/data/classes/external.php +++ b/mod/data/classes/external.php @@ -596,7 +596,7 @@ class mod_data_external extends external_api { $params = array('databaseid' => $databaseid); $params = self::validate_parameters(self::get_fields_parameters(), $params); - $warnings = array(); + $fields = $warnings = array(); list($database, $course, $cm, $context) = self::validate_database($params['databaseid']); diff --git a/mod/data/tests/externallib_test.php b/mod/data/tests/externallib_test.php index 1b61d09bf49..e9310b000b0 100644 --- a/mod/data/tests/externallib_test.php +++ b/mod/data/tests/externallib_test.php @@ -659,6 +659,18 @@ class mod_data_external_testcase extends externallib_advanced_testcase { } } + /** + * Test get_fields_database_without_fields. + */ + public function test_get_fields_database_without_fields() { + + $this->setUser($this->student1); + $result = mod_data_external::get_fields($this->database->id); + $result = external_api::clean_returnvalue(mod_data_external::get_fields_returns(), $result); + + $this->assertEmpty($result['fields']); + } + /** * Test search_entries. */