Blame view

src/pyrosapp/tests.py 4.32 KB
64501c9d   Etienne Pallier   first full projec...
1
from django.test import TestCase
6d86da1b   haribo   fix #3400, #3401,...
2
3
4
from pyrosapp.models import *
from django.contrib.auth.models import User
from django.utils import timezone
64501c9d   Etienne Pallier   first full projec...
5

6d86da1b   haribo   fix #3400, #3401,...
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
class CountryTests(TestCase):
    def test_creation(self):
        Country.objects.create(name="France", desc="Test", quota=1)
        france = Country.objects.get(name="France")
        self.assertEqual(france.name, "France")
        self.assertEqual(france.desc, "Test")
        self.assertEqual(france.quota, 1)
        france.quota = -1
        france.delete()
        france.save()
        Country.objects.create(name="Mexique")
        countries = Country.objects.all()
        self.assertEqual(countries.count(), 2)
        countries[0].name = "Toto"
        countries[0].save()

class DeviceTests(TestCase):
    def test_creation(self):
        device = Device.objects.create()
        countries = Country.objects.all()
        self.assertEqual(countries.count(), 0, "perdu !")
        
class RequestTests(TestCase):
    def setUp(self):
        strat1 = StrategyObs.objects.create(name="strat1")
        france = Country.objects.create(name="France")
        admin = UserLevel.objects.create(name="Admin")
        usr1 = User.objects.create(username="Haribo")
        haribo = PyrosUser.objects.create(user=usr1, country=france, userlevel=admin)
        sp1 = ScientificProgram.objects.create(name="sp1")
        req1 = Request.objects.create(name="req1", pyros_user=haribo, scientificprogram=sp1)
        Alert.objects.create(strategyobs=strat1, request=req1)

        sched = Schedule.objects.create()
        sqt = SequenceType.objects.create()
b87b6d9b   haribo   Finished tests fo...
41
        seq1 = Sequence.objects.create(name="seq1", request=req1, sequencetype=sqt, schedule=sched)
6d86da1b   haribo   fix #3400, #3401,...
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
        
        dev_tel = Device.objects.create(name="telescope")
        dev_det = Device.objects.create(name="detector")
        tel = Telescope.objects.create(device=dev_tel)
        det = Detector.objects.create(device=dev_det, telescope=tel)
        alb1 = Album.objects.create(name="alb1", sequence=seq1, detector=det)
        
        dev_fil = Device.objects.create(name="filter")
        fil = Filter.objects.create(device=dev_fil, detector=det)
        plan1 = Plan.objects.create(name="plan1", album=alb1, filter=fil)
        img1 = Image.objects.create(name="img1", plan=plan1)
        img2 = Image.objects.create(name="img2", plan=plan1)
        
    def test_request_access(self):
        alert = Alert.objects.get()
        self.assertEqual(alert.request.name, "req1")

        req1 = Request.objects.get(name="req1")
        req1.name = "reqtiti"
        req1.save()
        self.assertEqual(alert.request.name, "req1") # j'ai saved req1, pourtant alert1.request.name est toujours le même

        alert = Alert.objects.get()
        self.assertEqual(alert.request.name, "reqtiti") # j'ai refait un get de mon alert, donc c'est mis à jour
        
        alert.request.name = "reqtoto"
        alert.save()
        self.assertEqual(req1.name, "reqtiti")
        self.assertEqual(alert.request.name, "reqtoto")
        
        req1 = Request.objects.get()
        self.assertEqual(req1.name, "reqtiti")

        alert.request.save()
        req1 = Request.objects.get()
        self.assertEqual(req1.name, "reqtoto")

    def test_reinit_base(self):
        req1 = Request.objects.get()
        self.assertEqual(req1.name, "req1")
        
    def test_full_request(self):
        req1 = Request.objects.get()
        self.assertEqual(req1.sequences.count(), 1)
        albums = req1.sequences.all()[0].albums
        self.assertEqual(albums.count(), 1)
        images = albums.all()[0].plans.all()[0].images
        self.assertEqual(images.count(), 2)
        img1 = images.get(name="img1")
        img1.name = "img1.1"
        img11 = req1.sequences.get().albums.get().plans.get().images.get(name="img1") # j'ai toujours pas sauvegardé mon image
        img1.save()
        img11 = req1.sequences.get().albums.get().plans.get().images.get(name="img1.1") # j'ai sauvegardé mon image
        
        req1 = Request.objects.get()
        img1 = req1.sequences.get().albums.get().plans.get().images.get(name="img1.1")
        
        img11 = Image.objects.get(name="img1.1")
        img11.name = "img1.2"
        img11.save()
        
        self.assertEqual(img1.name, "img1.1") # img1 et img11 sont différents
        img1 = req1.sequences.get().albums.get().plans.get().images.get(name="img1.2")