mirror of
https://gitlab.crans.org/bde/nk20
synced 2025-04-23 23:22:38 +00:00
171 lines
5.1 KiB
Python
171 lines
5.1 KiB
Python
# Copyright (C) 2018-2025 by BDE ENS Paris-Saclay
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
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 AllergenViewSet, BasicFoodViewSet, TransformedFoodViewSet, QRCodeViewSet
|
|
from ..models import Allergen, BasicFood, TransformedFood, QRCode
|
|
|
|
|
|
class TestFood(TestCase):
|
|
"""
|
|
Test food
|
|
"""
|
|
fixtures = ('initial',)
|
|
|
|
def setUp(self):
|
|
self.user = User.objects.create_superuser(
|
|
username='admintoto',
|
|
password='toto1234',
|
|
email='toto@example.com'
|
|
)
|
|
self.client.force_login(self.user)
|
|
|
|
sess = self.client.session
|
|
sess['permission_mask'] = 42
|
|
sess.save()
|
|
|
|
self.allergen = Allergen.objects.create(
|
|
name='allergen',
|
|
)
|
|
|
|
self.basicfood = BasicFood.objects.create(
|
|
name='basicfood',
|
|
owner_id=1,
|
|
expiry_date=timezone.now(),
|
|
is_ready=False,
|
|
date_type='DLC',
|
|
)
|
|
|
|
self.transformedfood = TransformedFood.objects.create(
|
|
name='transformedfood',
|
|
owner_id=1,
|
|
expiry_date=timezone.now(),
|
|
is_ready=False,
|
|
)
|
|
|
|
self.qrcode = QRCode.objects.create(
|
|
qr_code_number=1,
|
|
food_container=self.basicfood,
|
|
)
|
|
|
|
def test_food_list(self):
|
|
"""
|
|
Display food list
|
|
"""
|
|
response = self.client.get(reverse('food:food_list'))
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
def test_qrcode_create(self):
|
|
"""
|
|
Display QRCode creation
|
|
"""
|
|
response = self.client.get(reverse('food:qrcode_create'))
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
def test_basicfood_create(self):
|
|
"""
|
|
Display BasicFood creation
|
|
"""
|
|
response = self.client.get(reverse('food:basicfood_create'))
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
def test_transformedfood_create(self):
|
|
"""
|
|
Display TransformedFood creation
|
|
"""
|
|
response = self.client.get(reverse('food:transformedfood_create'))
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
def test_food_create(self):
|
|
"""
|
|
Display Food update
|
|
"""
|
|
response = self.client.get(reverse('food:food_update'))
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
def test_food_view(self):
|
|
"""
|
|
Display Food detail
|
|
"""
|
|
response = self.client.get(reverse('food:food_view'))
|
|
self.assertEqual(response.status_code, 302)
|
|
|
|
def test_basicfood_view(self):
|
|
"""
|
|
Display BasicFood detail
|
|
"""
|
|
response = self.client.get(reverse('food:basicfood_view'))
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
def test_transformedfood_view(self):
|
|
"""
|
|
Display TransformedFood detail
|
|
"""
|
|
response = self.client.get(reverse('food:transformedfood_view'))
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
def test_add_ingredient(self):
|
|
"""
|
|
Display add ingredient view
|
|
"""
|
|
response = self.client.get(reverse('food:add_ingredient'))
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
|
|
class TestFoodAPI(TestAPI):
|
|
def setUp(self) -> None:
|
|
super().setUP()
|
|
|
|
self.allergen = Allergen.objects.create(
|
|
name='name',
|
|
)
|
|
|
|
self.basicfood = BasicFood.objects.create(
|
|
name='basicfood',
|
|
owner_id=1,
|
|
expiry_date=timezone.now(),
|
|
is_ready=False,
|
|
date_type='DLC',
|
|
)
|
|
|
|
self.transformedfood = TransformedFood.objects.create(
|
|
name='transformedfood',
|
|
owner_id=1,
|
|
expiry_date=timezone.now(),
|
|
is_ready=False,
|
|
)
|
|
|
|
self.qrcode = QRCode.objects.create(
|
|
qr_code_number=1,
|
|
food_container=self.basicfood,
|
|
)
|
|
|
|
def test_allergen_api(self):
|
|
"""
|
|
Load Allergen API page and test all filters and permissions
|
|
"""
|
|
self.check_viewset(AllergenViewSet, '/api/food/allergen/')
|
|
|
|
def test_basicfood_api(self):
|
|
"""
|
|
Load BasicFood API page and test all filters and permissions
|
|
"""
|
|
self.check_viewset(BasicFoodViewSet, '/api/food/basicfood/')
|
|
|
|
def test_transformedfood_api(self):
|
|
"""
|
|
Load TransformedFood API page and test all filters and permissions
|
|
"""
|
|
self.check_viewset(TransformedFoodViewSet, '/api/food/transformedfood/')
|
|
|
|
def test_qrcode_api(self):
|
|
"""
|
|
Load QRCode API page and test all filters and permissions
|
|
"""
|
|
self.check_viewset(QRCodeViewSet, '/api/food/qrcode/')
|