diff --git a/common/urls.py b/common/urls.py index f94dfd6..304c87f 100644 --- a/common/urls.py +++ b/common/urls.py @@ -23,7 +23,7 @@ urlpatterns = patterns('', url(r'^period/(?P\d+)/students/', 'stages.views.period_students'), url(r'^period/(?P\d+)/corporations/', 'stages.views.period_availabilities'), # Training params in POST: - url(r'^training/new/', 'stages.views.new_training'), + url(r'^training/new/', 'stages.views.new_training', name="new_training"), url(r'^training/by_period/(?P\d+)/', views.TrainingsByPeriodView.as_view()), url(r'^student/(?P\d+)/summary/', views.StudentSummaryView.as_view()), diff --git a/stages/tests.py b/stages/tests.py new file mode 100644 index 0000000..f628186 --- /dev/null +++ b/stages/tests.py @@ -0,0 +1,28 @@ +from django.contrib.auth.models import User +from django.core.urlresolvers import reverse +from django.test import TestCase + +from .models import Student, Availability, Referent + +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): + response = self.client.get(reverse('stages_export')) + self.assertEqual(response.status_code, 200) + + 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) +