# Copyright (C) 2018-2025 by BDE ENS Paris-Saclay # SPDX-License-Identifier: GPL-3.0-or-later from datetime import timedelta from api.tests import TestAPI from django.contrib.auth.models import User from django.test import TestCase from django.urls import reverse from django.utils import timezone from ..api.views import WrappedViewSet, BdeViewSet from ..models import Bde, Wrapped class TestWrapped(TestCase): """ Test activities """ fixtures = ('initial',) def setUp(self): self.user = User.objects.create_superuser( username="admintoto", password="tototototo", email="toto@example.com" ) self.client.force_login(self.user) sess = self.client.session sess["permission_mask"] = 42 sess.save() self.bde = Bde.objects.create( name="The best BDE", date_start=timezone.now() - timedelta(days=365), date_end=timezone.now(), ) self.wrapped = Wrapped.objects.create( generated=True, public=False, bde=self.bde, note=self.user.note, data_json="{}", ) def test_wrapped_list(self): """ Display the list of all wrapped """ response = self.client.get(reverse("wrapped:wrapped_list")) self.assertEqual(response.status_code, 200) def test_wrapped_detail(self): """ Display the detail of an wrapped """ response = self.client.get(reverse("wrapped:wrapped_detail", args=(self.wrapped.pk,))) self.assertEqual(response.status_code, 200) class TestWrappedAPI(TestAPI): def setUp(self) -> None: super().setUp() self.bde = Bde.objects.create( name="The best BDE", date_start=timezone.now() - timedelta(days=365), date_end=timezone.now(), ) self.wrapped = Wrapped.objects.create( generated=True, public=False, bde=self.bde, note=self.user.note, data_json="{}", ) def test_bde_api(self): """ Load Bde API page and test all filters and permissions """ self.check_viewset(BdeViewSet, "/api/wrapped/bde/") def test_wrapped_api(self): """ Load Wrapped API page and test all filters and permissions """ self.check_viewset(WrappedViewSet, "/api/wrapped/wrapped/")