From e4ca875954b7616207875e7a6ad4609e6b8c35db Mon Sep 17 00:00:00 2001 From: "Eloy Lafuente (stronk7)" Date: Mon, 20 Apr 2020 22:52:04 +0200 Subject: [PATCH] MDL-67518 phpunit: avoid DB sorting randomness in test While reading from mdl_config, sometimes this test was failing because an order was being presumed. Now we convert the records array to an associative one to perform tests against it. --- blocks/tests/externallib_test.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/blocks/tests/externallib_test.php b/blocks/tests/externallib_test.php index bd815e657cb..ee1b61b9db9 100644 --- a/blocks/tests/externallib_test.php +++ b/blocks/tests/externallib_test.php @@ -267,9 +267,11 @@ class core_block_externallib_testcase extends externallib_advanced_testcase { $returnedblocks[] = $block['name']; // Check the configuration returned for this default block. if ($block['name'] == 'recentlyaccessedcourses') { - $this->assertEquals('displaycategories', $block['configs'][0]['name']); - $this->assertEquals(json_encode('0'), $block['configs'][0]['value']); - $this->assertEquals('plugin', $block['configs'][0]['type']); + // Convert config to associative array to avoid DB sorting randomness. + $config = array_column($block['configs'], null, 'name'); + $this->assertArrayHasKey('displaycategories', $config); + $this->assertEquals(json_encode('0'), $config['displaycategories']['value']); + $this->assertEquals('plugin', $config['displaycategories']['type']); } } // Remove lp block. -- 2.11.4.GIT