epcstages/stages/tests.py

66 lines
2.7 KiB
Python
Raw Normal View History

2013-04-08 14:19:23 +02:00
# -*- encoding: utf-8 -*-
from __future__ import unicode_literals
from datetime import date
2013-04-08 14:19:23 +02:00
2012-11-08 18:11:54 +01:00
from django.contrib.auth.models import User
from django.core.urlresolvers import reverse
from django.test import TestCase
from .models import Level, Section, Period, Student, Availability, Referent
from .utils import school_year
2012-11-08 18:11:54 +01:00
class StagesTest(TestCase):
fixtures = ['test_fixture.json']
def setUp(self):
self.admin = User.objects.create_user('me', 'me@example.org', 'mepassword')
self.client.login(username='me', password='mepassword')
def test_export(self):
2012-11-30 10:25:40 +01:00
response1 = self.client.get(reverse('stages_export'))
self.assertEqual(response1.status_code, 200)
response2 = self.client.get(reverse('stages_export'), {'period': '2', 'non_attr': '0'})
2012-11-30 10:25:40 +01:00
self.assertEqual(response2.status_code, 200)
self.assertGreater(len(response1.content), len(response2.content))
2012-11-08 18:11:54 +01:00
response3 = self.client.get(reverse('stages_export'), {'period': '1', 'non_attr': '1'})
self.assertEqual(response2.status_code, 200)
2012-11-08 18:11:54 +01:00
def test_new_training(self):
student = Student.objects.get(last_name='Varrin')
avail = Availability.objects.get(pk=2)
response = self.client.post(reverse('new_training'),
{'student': student.pk,
'avail': avail.pk,
'referent': 1})
self.assertEqual(response.content, b'OK')
avail = Availability.objects.get(pk=2)
self.assertEqual(avail.training.student, student)
2013-04-08 14:19:23 +02:00
class PeriodTest(TestCase):
def setUp(self):
self.section = Section.objects.create(name="ASE")
self.level1 = Level.objects.create(name='1')
self.level2 = Level.objects.create(name='2')
2013-04-08 14:19:23 +02:00
def test_period_schoolyear(self):
per = Period.objects.create(title="Week test", section=self.section, level=self.level1,
start_date=date(2012, 9, 12), end_date=date(2012, 9, 26))
self.assertEqual(per.school_year, "2012 — 2013")
per = Period.objects.create(title="Week test", section=self.section, level=self.level1,
start_date=date(2013, 5, 2), end_date=date(2013, 7, 4))
2013-04-08 14:19:23 +02:00
self.assertEqual(per.school_year, "2012 — 2013")
def test_period_relativelevel(self):
year = school_year(date.today(), as_tuple=True)[1]
per = Period.objects.create(title="For next year", section=self.section, level=self.level2,
start_date=date(year, 9, 12), end_date=date(year, 10, 1))
self.assertEqual(per.relative_level, self.level1)
2013-04-08 14:19:23 +02:00
def test_period_weeks(self):
per = Period.objects.create(title="Week test", section=self.section, level=self.level1,
start_date=date(2013, 9, 12), end_date=date(2013, 9, 26))
self.assertEqual(per.weeks, 2)