From b1c75a0e24cbe516d8596295446f1d7b610a850a Mon Sep 17 00:00:00 2001
From: Lucas Brandstaetter <lucas@brandstaetter.tech>
Date: Sun, 20 Oct 2024 09:27:20 +0000
Subject: [PATCH] Add staff user to the backoffice tests

This staff user is set up with the Assembly-Team permission group, which
is used to assign these permissions during the conference.
---
 src/backoffice/tests/assemblies.py | 2 +-
 src/backoffice/tests/base.py       | 8 ++++++++
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/backoffice/tests/assemblies.py b/src/backoffice/tests/assemblies.py
index 17c524368..78f644e46 100644
--- a/src/backoffice/tests/assemblies.py
+++ b/src/backoffice/tests/assemblies.py
@@ -18,7 +18,7 @@ class AssemblyListViewTest(BackOfficeTestCase):
             al.save()
 
     def test_slugname_related_assemblies(self):
-        self.client.force_login(self.user)
+        self.client.force_login(self.staff)
         resp = self.client.get(reverse('backoffice:assemblieslist', kwargs={'variant': 'slugname'}))
         self.assertEqual(resp.context['data'][0][3], 'a2, a3')
         self.assertIn(b'a2, a3', resp.content)
diff --git a/src/backoffice/tests/base.py b/src/backoffice/tests/base.py
index 80bc46fd7..3e308d4e8 100644
--- a/src/backoffice/tests/base.py
+++ b/src/backoffice/tests/base.py
@@ -1,6 +1,7 @@
 import uuid
 from datetime import UTC, datetime
 
+from django.contrib.auth.models import Group
 from django.test import TestCase, override_settings
 
 from core.models import Conference, ConferenceMember, PlatformUser
@@ -10,6 +11,10 @@ TEST_CONF_ID = uuid.uuid4()
 
 @override_settings(SELECTED_CONFERENCE_ID=TEST_CONF_ID)
 class BackOfficeTestCase(TestCase):
+    fixtures = [
+        'bootstrap_auth_groups',
+    ]
+
     def setUp(self):
         self.conf = Conference(
             id=TEST_CONF_ID,
@@ -24,6 +29,9 @@ class BackOfficeTestCase(TestCase):
         self.user.save()
         self.conference_member = ConferenceMember(conference=self.conf, user=self.user)
         self.conference_member.save()
+        self.staff = PlatformUser.objects.create(username='test_staff', email='staff@where.test')
+        self.staff_cm = ConferenceMember.objects.create(conference=self.conf, user=self.staff, is_staff=True)
+        self.staff_cm.permission_groups.add(Group.objects.get(name='Assembly-Team'))
 
     def tearDown(self) -> None:
         self.client.logout()
-- 
GitLab