def test_get_attribution_list(self): attribution_list = attribution.get_attribution_list( self.person.global_id, self.academic_year) self.assertEqual(len(attribution_list), 3) academic_year_2016 = AcademicYear.objects.get(year=2016) attribution_list = attribution.get_attribution_list( self.person.global_id, academic_year_2016) self.assertEqual(len(attribution_list), 1)
def test_get_attribution_list(self): attribution_list = attribution.get_attribution_list( self.person.global_id, self.current_academic_year) self.assertEqual(len(attribution_list), 3) previous_year = self.current_academic_year.year - 1 academic_year_2016 = AcademicYear.objects.get(year=previous_year) attribution_list = attribution.get_attribution_list( self.person.global_id, academic_year_2016) self.assertEqual(len(attribution_list), 1)
def test_get_attribution_order(self): attribution_list = attribution.get_attribution_list( self.person.global_id, self.current_academic_year) self.assertEqual(len(attribution_list), 3) self.assertEqual(attribution_list[0]['acronym'], "LAGRO1530") self.assertEqual(attribution_list[1]['acronym'], "LBIR1200") self.assertEqual(attribution_list[2]['acronym'], "LBIR1300")
def overview(request, global_id=None): tutor = mdl_base.tutor.find_by_user(request.user) if not global_id else \ mdl_base.tutor.find_by_person_global_id(global_id) # Applications for next year application_year = tutor_application.get_application_year() applications = tutor_application.get_application_list( global_id=tutor.person.global_id) # Attributions for next year attributions = attribution.get_attribution_list( global_id=tutor.person.global_id, academic_year=application_year) volume_total_attributions = attribution.get_volumes_total(attributions) # Attribution which will be expire this academic year current_academic_year = mdl_base.academic_year.current_academic_year() attributions_about_to_expired = attribution.get_attribution_list_about_to_expire( global_id=tutor.person.global_id, academic_year=current_academic_year) for attrib in attributions: attrib['teachers'] = attribution.get_teachers(attrib['acronym'], application_year.year) for an_attribution in attributions: attribution.update_learning_unit_volume(an_attribution, application_year) if attributions_about_to_expired: for an_attribution in attributions_about_to_expired: attribution.update_learning_unit_volume(an_attribution, application_year) return layout.render( request, "attribution_overview.html", { 'a_tutor': tutor, 'attributions': attributions, 'current_academic_year': current_academic_year, 'attributions_about_to_expire': attributions_about_to_expired, 'application_year': application_year, 'applications': applications, 'tot_lecturing': volume_total_attributions.get( learning_component_year_type.LECTURING), 'tot_practical': volume_total_attributions.get( learning_component_year_type.PRACTICAL_EXERCISES), 'application_academic_calendar': mdl_base.academic_calendar.get_by_reference_and_academic_year( academic_calendar_type.TEACHING_CHARGE_APPLICATION, current_academic_year), 'catalog_url': settings.ATTRIBUTION_CONFIG.get('CATALOG_URL') })
def test_computes_volumes_total(self): attribution_list = attribution.get_attribution_list( self.person.global_id, self.current_academic_year) volumes_total = attribution.get_volumes_total(attribution_list) self.assertTrue(volumes_total) self.assertEqual( volumes_total.get(learning_component_year_type.LECTURING), Decimal(53.5)) self.assertEqual( volumes_total.get( learning_component_year_type.PRACTICAL_EXERCISES), Decimal(21.5))
def test_append_start_end_academic_year(self): attribution_list = attribution.get_attribution_list( self.person.global_id, self.academic_year) self.assertEqual(attribution_list[0]['acronym'], "LAGRO1530") self.assertTrue(attribution_list[0]['start_academic_year']) self.assertEqual(attribution_list[0]['start_academic_year'].year, 2015) self.assertEqual(attribution_list[0]['end_academic_year'].year, 2017) self.assertEqual(attribution_list[1]['acronym'], "LBIR1200") self.assertTrue(attribution_list[1]['start_academic_year']) self.assertEqual(attribution_list[1]['start_academic_year'].year, 2013) self.assertRaises( KeyError, lambda: attribution_list[1]['end_academic_year']) # No end year self.assertEqual(attribution_list[2]['acronym'], "LBIR1300") self.assertTrue(attribution_list[2]['start_academic_year']) self.assertEqual(attribution_list[2]['start_academic_year'].year, 2015) self.assertEqual(attribution_list[2]['end_academic_year'].year, 2020)
def test_append_team_and_volume_delcared_vacant(self): # Create Container Year and component _create_learning_container_with_components( acronym="LBIR1300", academic_year=self.current_academic_year, volume_lecturing=Decimal(15.5), volume_practical_exercices=Decimal(5)) _create_learning_container_with_components( acronym="LBIR1200", academic_year=self.current_academic_year, volume_lecturing=Decimal(30), volume_practical_exercices=Decimal(75)) _create_learning_container_with_components("LAGRO1530", self.current_academic_year, Decimal(30), Decimal(30)) attribution_list = attribution.get_attribution_list( self.person.global_id, self.current_academic_year) self.assertEqual(attribution_list[0]['acronym'], "LAGRO1530") self.assertEqual(attribution_list[0]['volume_lecturing_vacant'], Decimal(30)) self.assertEqual( attribution_list[0]['volume_practical_exercices_vacant'], Decimal(30)) self.assertEqual(attribution_list[0]['team'], False) self.assertEqual(attribution_list[1]['acronym'], "LBIR1200") self.assertEqual(attribution_list[1]['volume_lecturing_vacant'], Decimal(30)) self.assertEqual( attribution_list[1]['volume_practical_exercices_vacant'], Decimal(75)) self.assertEqual(attribution_list[1]['team'], False) self.assertEqual(attribution_list[2]['acronym'], "LBIR1300") self.assertEqual(attribution_list[2]['volume_lecturing_vacant'], Decimal(15.5)) self.assertEqual( attribution_list[2]['volume_practical_exercices_vacant'], Decimal(5)) self.assertEqual(attribution_list[2]['team'], False)
def test_get_attribution_list_empty(self): academic_year = AcademicYearFactory(year=1990) attribution_list = attribution.get_attribution_list( self.person.global_id, academic_year) self.assertFalse(attribution_list)