mirror of
				https://gitlab.crans.org/bde/nk20
				synced 2025-11-04 09:12:11 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			92 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			92 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
# 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/")
 |