Student import test with existing student

This commit is contained in:
Claude Paroz 2018-07-13 14:29:36 +02:00
parent 20f4c81fb7
commit 3c3ae13ac2
2 changed files with 19 additions and 15 deletions

View file

@ -441,40 +441,44 @@ class ImportTests(TestCase):
"""
Import of the main students file.
"""
lev1 = Level.objects.create(name='1')
lev2 = Level.objects.create(name='2')
assc = Section.objects.create(name='ASSC')
k1 = Klass.objects.create(name='1ASSCFEa', section=assc, level=lev1)
# An existing student, klass should be changed.
Student.objects.create(ext_id=11111, first_name="Séraphin", last_name="Lampion", klass=k1)
path = os.path.join(os.path.dirname(__file__), 'test_files', 'CLOEE2_Export_FE_2018.xlsx')
self.client.login(username='me', password='mepassword')
with open(path, 'rb') as fh:
response = self.client.post(reverse('import-students'), {'upload': fh}, follow=True)
msg = "\n".join(str(m) for m in response.context['messages'])
self.assertIn("La classe '1ASSCFEa' n'existe pas encore", msg)
self.assertIn("La classe '2ASSCFEa' n'existe pas encore", msg)
lev1 = Level.objects.create(name='1')
lev2 = Level.objects.create(name='2')
Klass.objects.create(
name='1ASSCFEa',
section=Section.objects.create(name='ASSC'),
level=lev1,
)
Klass.objects.create(name='2ASSCFEa', section=assc, level=lev2)
Klass.objects.create(
name='2EDEpe',
section=Section.objects.create(name='EDE'),
level=lev2,
)
Klass.objects.create(
name='1EDS18-20',
name='2EDS18-20',
section=Section.objects.create(name='EDS'),
level=lev1,
level=lev2,
)
with open(path, 'rb') as fh:
response = self.client.post(reverse('import-students'), {'upload': fh}, follow=True)
msg = "\n".join(str(m) for m in response.context['messages'])
self.assertIn("Objets créés : 3", msg)
self.assertIn("Objets créés : 2", msg)
self.assertIn("Objets modifiés : 1", msg)
student = Student.objects.get(ext_id=22222)
self.assertEqual(student.corporation.name, 'Accueil Haut les mains')
self.assertFalse(student.dispense_eps)
student1 = Student.objects.get(ext_id=11111)
self.assertEqual(student1.klass.name, '2ASSCFEa')
student2 = Student.objects.get(ext_id=22222)
self.assertEqual(student2.corporation.name, 'Accueil Haut les mains')
self.assertFalse(student2.dispense_eps)
# Instructor not set through this import
self.assertIsNone(student.instructor)
self.assertIsNone(student2.instructor)
def test_import_hp(self):
teacher = Teacher.objects.create(