From 60c69f2ab1e5a81eb2196821e5aa932df8e5f6cf Mon Sep 17 00:00:00 2001
From: Jan-Hendrik Willms <tleilax+studip@gmail.com>
Date: Thu, 1 Feb 2024 13:04:35 +0000
Subject: [PATCH] use correct avatar, fixes #3700

Closes #3700

Merge request studip/studip!2569
---
 lib/classes/JsonApi/Schemas/Course.php | 6 +++++-
 tests/jsonapi/CourseShowTest.php       | 3 +++
 tests/jsonapi/CoursesByUserTest.php    | 3 +++
 3 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/lib/classes/JsonApi/Schemas/Course.php b/lib/classes/JsonApi/Schemas/Course.php
index 29a0c376380..b6fe04a63b4 100644
--- a/lib/classes/JsonApi/Schemas/Course.php
+++ b/lib/classes/JsonApi/Schemas/Course.php
@@ -399,10 +399,14 @@ class Course extends SchemaProvider
 
     /**
      * @inheritdoc
+     *
+     * @param \Course $resource
      */
     public function getResourceMeta($resource)
     {
-        $avatar = \CourseAvatar::getAvatar($resource->id);
+        $avatar = $resource->isStudygroup()
+                ? \StudygroupAvatar::getAvatar($resource->id)
+                : \CourseAvatar::getAvatar($resource->id);
 
         return [
             'avatar' => [
diff --git a/tests/jsonapi/CourseShowTest.php b/tests/jsonapi/CourseShowTest.php
index e1acf9255b4..d2c953cee7f 100644
--- a/tests/jsonapi/CourseShowTest.php
+++ b/tests/jsonapi/CourseShowTest.php
@@ -13,6 +13,9 @@ class CourseShowTest extends \Codeception\Test\Unit
     protected function _before()
     {
         \DBManager::getInstance()->setConnection('studip', $this->getModule('\\Helper\\StudipDb')->dbh);
+        //Initialize $SEM_TYPE and $SEM_CLASS arrays
+        $GLOBALS['SEM_CLASS'] = SemClass::getClasses();
+        $GLOBALS['SEM_TYPE'] = SemType::getTypes();
     }
 
     protected function _after()
diff --git a/tests/jsonapi/CoursesByUserTest.php b/tests/jsonapi/CoursesByUserTest.php
index 99474053b14..00307a79f9e 100644
--- a/tests/jsonapi/CoursesByUserTest.php
+++ b/tests/jsonapi/CoursesByUserTest.php
@@ -13,6 +13,9 @@ class CoursesByUserTest extends \Codeception\Test\Unit
     protected function _before()
     {
         \DBManager::getInstance()->setConnection('studip', $this->getModule('\\Helper\\StudipDb')->dbh);
+        //Initialize $SEM_TYPE and $SEM_CLASS arrays
+        $GLOBALS['SEM_CLASS'] = SemClass::getClasses();
+        $GLOBALS['SEM_TYPE'] = SemType::getTypes();
     }
 
     protected function _after()
-- 
GitLab