示例#1
0
    def test_get_data_part2(self):
        learning_container_luy = LearningContainerYearFactory(academic_year=self.current_academic_year)
        luy = LearningUnitYearFactory(academic_year=self.current_academic_year,
                                      learning_container_year=learning_container_luy,
                                      periodicity=learning_unit_year_periodicity.ANNUAL,
                                      status=True,
                                      language=None,
                                      )

        component_lecturing = LearningComponentYearFactory(
            learning_unit_year=luy,
            type=learning_component_year_type.LECTURING,
            hourly_volume_total_annual=15,
            hourly_volume_partial_q1=10,
            hourly_volume_partial_q2=5,
            planned_classes=1
        )
        component_practical = LearningComponentYearFactory(
            learning_unit_year=luy,
            type=learning_component_year_type.PRACTICAL_EXERCISES,
            hourly_volume_total_annual=15,
            hourly_volume_partial_q1=10,
            hourly_volume_partial_q2=5,
            planned_classes=1
        )
        a_tutor = TutorFactory()

        an_attribution = AttributionNewFactory(
            tutor=a_tutor,
            start_year=2017
        )

        attribution_charge_new_lecturing = AttributionChargeNewFactory(learning_component_year=component_lecturing,
                                                                       attribution=an_attribution,
                                                                       allocation_charge=15.0)
        attribution_charge_new_practical = AttributionChargeNewFactory(learning_component_year=component_practical,
                                                                       attribution=an_attribution,
                                                                       allocation_charge=5.0)

        # Simulate annotate
        luy = annotate_qs(LearningUnitYear.objects.filter(pk=luy.pk)).first()
        luy.entity_requirement = EntityVersionFactory()

        luy.attribution_charge_news = attribution_charge_new.find_attribution_charge_new_by_learning_unit_year_as_dict(
            luy)


        expected_common = [
            str(_(luy.periodicity.title())),
            str(_('yes')) if luy.status else str(_('no')),
            component_lecturing.hourly_volume_total_annual,
            component_lecturing.hourly_volume_partial_q1,
            component_lecturing.hourly_volume_partial_q2,
            component_lecturing.planned_classes,
            component_practical.hourly_volume_total_annual,
            component_practical.hourly_volume_partial_q1,
            component_practical.hourly_volume_partial_q2,
            component_practical.planned_classes,
            luy.get_quadrimester_display() or '',
            luy.get_session_display() or '',
            "",
        ]
        self.assertEqual(_get_data_part2(luy, False), expected_common)
        self.assertEqual(
            _get_data_part2(luy, True),
            expected_attribution_data(
                attribution_charge_new_lecturing, attribution_charge_new_practical,
                expected_common,
                luy
            )
        )
示例#2
0
    def test_get_data_part2(self):
        learning_container_luy = LearningContainerYearFactory(
            academic_year=self.current_academic_year)
        luy = LearningUnitYearFactory(
            academic_year=self.current_academic_year,
            learning_container_year=learning_container_luy,
            periodicity=learning_unit_year_periodicity.ANNUAL,
            status=True,
            language=None,
        )

        component_lecturing = LearningComponentYearFactory(
            learning_container_year=learning_container_luy,
            type=learning_component_year_type.LECTURING,
            hourly_volume_total_annual=15,
            hourly_volume_partial_q1=10,
            hourly_volume_partial_q2=5,
            planned_classes=1)
        component_practical = LearningComponentYearFactory(
            learning_container_year=learning_container_luy,
            type=learning_component_year_type.PRACTICAL_EXERCISES,
            hourly_volume_total_annual=15,
            hourly_volume_partial_q1=10,
            hourly_volume_partial_q2=5,
            planned_classes=1)
        LearningUnitComponentFactory(
            learning_unit_year=luy,
            learning_component_year=component_lecturing)
        LearningUnitComponentFactory(
            learning_unit_year=luy,
            learning_component_year=component_practical)
        a_tutor = TutorFactory()

        an_attribution = AttributionNewFactory(tutor=a_tutor, start_year=2017)

        attribution_charge_new_lecturing = AttributionChargeNewFactory(
            learning_component_year=component_lecturing,
            attribution=an_attribution,
            allocation_charge=15.0)
        attribution_charge_new_practical = AttributionChargeNewFactory(
            learning_component_year=component_practical,
            attribution=an_attribution,
            allocation_charge=5.0)

        luy.attribution_charge_news = attribution_charge_new.find_attribution_charge_new_by_learning_unit_year(
            luy)
        expected_common = [
            xls_build.translate(luy.periodicity),
            xls_build.translate(luy.status),
            component_lecturing.hourly_volume_total_annual,
            component_lecturing.hourly_volume_partial_q1,
            component_lecturing.hourly_volume_partial_q2,
            component_lecturing.planned_classes,
            component_practical.hourly_volume_total_annual,
            component_practical.hourly_volume_partial_q1,
            component_practical.hourly_volume_partial_q2,
            component_practical.planned_classes,
            xls_build.translate(luy.quadrimester),
            xls_build.translate(luy.session), "", ''
        ]
        self.assertEqual(_get_data_part2(luy, False), expected_common)
        self.assertEqual(
            _get_data_part2(luy, True),
            expected_attribution_data(attribution_charge_new_lecturing,
                                      attribution_charge_new_practical,
                                      expected_common, luy))