From 697be4eaa32611f0b2e823d4e3f8a469a05288e0 Mon Sep 17 00:00:00 2001 From: Paul Holden Date: Fri, 16 Jun 2023 15:55:19 +0100 Subject: [PATCH] MDL-75810 badges: allow tags to be specified in test data generator. --- badges/tests/generator/lib.php | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/badges/tests/generator/lib.php b/badges/tests/generator/lib.php index 242b5d46a55..7d4ab149e5e 100644 --- a/badges/tests/generator/lib.php +++ b/badges/tests/generator/lib.php @@ -43,9 +43,10 @@ class core_badges_generator extends component_generator_base { $record = (array) $record; - // Save badge image path for later. + // Save badge image/tags for later. $badgeimage = $record['image'] ?? ''; - unset($record['image']); + $badgetags = $record['tags'] ?? ''; + unset($record['image'], $record['tags']); $record = (object) array_merge([ 'name' => 'Test badge', @@ -93,6 +94,14 @@ class core_badges_generator extends component_generator_base { badges_process_badge_image($badge, $file->copy_content_to_temp()); } + // Process badge tags (if supplied). + if ($badgetags !== '') { + if (!is_array($badgetags)) { + $badgetags = preg_split('/\s*,\s*/', $badgetags, -1, PREG_SPLIT_NO_EMPTY); + } + core_tag_tag::set_item_tags('core_badges', 'badge', $badge->id, $badge->get_context(), $badgetags); + } + return $badge; }