def test_tree_luy_has_and_is_prerequisite(self): # self.learning_unit_year_1 is prerequisite PrerequisiteItemFactory( learning_unit=self.learning_unit_year_1.learning_unit, prerequisite=PrerequisiteFactory(education_group_year=self.parent) ) # self.learning_unit_year_1 has prerequisite PrerequisiteItemFactory( prerequisite=PrerequisiteFactory( learning_unit_year=self.learning_unit_year_1, education_group_year=self.parent ) ) node = EducationGroupHierarchy(self.parent) json = node.to_json() self.assertEqual( json['children'][1]['children'][0]['a_attr']['title'], "{}\n{}".format( self.learning_unit_year_1.complete_title, _("The learning unit has prerequisites and is a prerequisite") ) ) self.assertEqual( json['children'][1]['children'][0]['icon'], 'fa fa-exchange-alt' )
def setUp(self): self.learning_unit_is_prerequisite = LearningUnitFactory() self.learning_unit_not_prerequisite = LearningUnitFactory() self.learning_unit_year_with_prerequisite = LearningUnitYearFactory() self.learning_unit_year_without_prerequisite = LearningUnitYearFactory() self.prerequisite = PrerequisiteFactory(learning_unit_year=self.learning_unit_year_with_prerequisite) self.prerequisite_item = PrerequisiteItemFactory( prerequisite=self.prerequisite, learning_unit=self.learning_unit_is_prerequisite )
def setUpTestData(cls): cls.learning_unit_is_prerequisite = LearningUnitFactory() cls.learning_unit_not_prerequisite = LearningUnitFactory() cls.learning_unit_year_with_prerequisite = LearningUnitYearFactory() cls.learning_unit_year_without_prerequisite = LearningUnitYearFactory() cls.prerequisite = PrerequisiteFactory( learning_unit_year=cls.learning_unit_year_with_prerequisite) cls.prerequisite_item = PrerequisiteItemFactory( prerequisite=cls.prerequisite, learning_unit=cls.learning_unit_is_prerequisite)
def test_postpone_with_prerequisite(self): prerequisite = PrerequisiteFactory( learning_unit_year__academic_year=self.current_academic_year, education_group_year=self.current_education_group_year ) item_luy = LearningUnitYearFactory(academic_year=self.current_academic_year) item_luy_n1 = LearningUnitYearFactory( academic_year=self.previous_academic_year, learning_unit=item_luy.learning_unit ) n1_item_luy = LearningUnitYearFactory( academic_year=self.next_academic_year, learning_unit=item_luy.learning_unit, ) PrerequisiteItemFactory( prerequisite=prerequisite, learning_unit=item_luy.learning_unit ) n1_luy = LearningUnitYearFactory( learning_unit=prerequisite.learning_unit_year.learning_unit, academic_year=self.next_academic_year, ) GroupElementYearFactory( parent=self.current_education_group_year, child_branch=None, child_leaf=item_luy ) GroupElementYearFactory( parent=self.current_education_group_year, child_branch=None, child_leaf=prerequisite.learning_unit_year ) self.postponer = PostponeContent(self.current_education_group_year) new_root = self.postponer.postpone() new_child_leaf = new_root.groupelementyear_set.last().child_leaf self.assertEqual(new_child_leaf.acronym, n1_luy.acronym) # If the luy does not exist in N+1, it should attach N instance self.assertEqual(new_child_leaf.academic_year, self.next_academic_year) self.assertFalse(self.postponer.warnings) self.assertEqual( new_child_leaf.prerequisite_set.first().prerequisiteitem_set.first().learning_unit, n1_item_luy.learning_unit )
def setUp(self): self.mock_authorized_relationship_check_is_valid = mock.patch.object( CheckAuthorizedRelationshipDetach, "is_valid") self.mock_authorized_relationship_check_is_valid.return_value = True self.mocked_perm = self.mock_authorized_relationship_check_is_valid.start( ) self.addCleanup(self.mock_authorized_relationship_check_is_valid.stop) self.prerequisite = PrerequisiteFactory( learning_unit_year=self.lu_children_level_3[0].child_leaf, education_group_year=self.root, ) self.prerequisite_item = PrerequisiteItemFactory( prerequisite=self.prerequisite, learning_unit=self.lu_children_level_2[0].child_leaf.learning_unit)
def test_when_prerequisite_learning_unit_does_not_exist_in_n1(self): prerequisite = PrerequisiteFactory( learning_unit_year__academic_year=self.current_academic_year, education_group_year=self.current_education_group_year ) PrerequisiteItemFactory( prerequisite=prerequisite, ) n1_luy = LearningUnitYearFactory( learning_unit=prerequisite.learning_unit_year.learning_unit, academic_year=self.next_academic_year, ) GroupElementYearFactory( parent=self.current_group_element_year.child_branch, child_branch=None, child_leaf=prerequisite.learning_unit_year ) GroupElementYearFactory( parent=EducationGroupYearFactory( education_group=self.current_group_element_year.child_branch.education_group, academic_year=self.next_academic_year ), child_branch=None, child_leaf=LearningUnitYearFactory(academic_year=self.next_academic_year) ) self.postponer = PostponeContent(self.current_education_group_year) new_root = self.postponer.postpone() self.assertIn( _("%(learning_unit_year)s is not anymore contained in " "%(education_group_year_root)s " "=> the prerequisite for %(learning_unit_year)s is not copied.") % { "education_group_year_root": "{} - {}".format(new_root.partial_acronym, new_root.acronym), "learning_unit_year": prerequisite.learning_unit_year.acronym, }, [str(warning) for warning in self.postponer.warnings] )
def setUpTestData(cls): cls.prerequisite = PrerequisiteFactory( learning_unit_year__acronym="LDROI1000") cls.prerequisite_item = PrerequisiteItemFactory( prerequisite=cls.prerequisite) url_kwargs = { 'acronym': cls.prerequisite.learning_unit_year.acronym, 'year': cls.prerequisite.learning_unit_year.academic_year.year } url = reverse('learning_unit_api_v1:' + LearningUnitPrerequisitesList.name, kwargs=url_kwargs) cls.serializer = LearningUnitYearPrerequisitesListSerializer( cls.prerequisite, context={ 'request': RequestFactory().get(url), 'language': settings.LANGUAGE_CODE_EN }, )
def setUpTestData(cls): cls.academic_year = AcademicYearFactory() cls.education_group_year_parents = [TrainingFactory(academic_year=cls.academic_year) for _ in range(0, 2)] cls.learning_unit_year_child = LearningUnitYearFakerFactory( learning_container_year__academic_year=cls.academic_year ) cls.group_element_years = [ GroupElementYearFactory(parent=cls.education_group_year_parents[i], child_leaf=cls.learning_unit_year_child, child_branch=None) for i in range(0, 2) ] cls.prerequisite = PrerequisiteFactory( learning_unit_year=cls.learning_unit_year_child, education_group_year=cls.education_group_year_parents[0] ) cls.person = PersonWithPermissionsFactory("can_access_education_group") cls.url = reverse("learning_unit_prerequisite", args=[cls.education_group_year_parents[0].id, cls.learning_unit_year_child.id])
def setUp(self): academic_year = create_current_academic_year() luy_prerequisite = LearningUnitYearFactory(acronym='LDROI1223', academic_year=academic_year) self.prerequisite = PrerequisiteFactory( learning_unit_year=luy_prerequisite) self.luy_prerequisite_item_1_1 = LearningUnitYearFactory( acronym='LDROI1001', academic_year=academic_year) self.luy_prerequisite_item_1_2 = LearningUnitYearFactory( acronym='LDROI1002', academic_year=academic_year) self.luy_prerequisite_item_1_3 = LearningUnitYearFactory( acronym='LDROI1003', academic_year=academic_year) self.luy_prerequisite_item_2_1 = LearningUnitYearFactory( acronym='LDROI2001', academic_year=academic_year) self.luy_prerequisite_item_2_2 = LearningUnitYearFactory( acronym='LDROI2002', academic_year=academic_year) self.luy_prerequisite_item_2_3 = LearningUnitYearFactory( acronym='LDROI2003', academic_year=academic_year)
def test_get_acronym_as_href(self): current_academic_yr = create_current_academic_year() learning_unit_yr = LearningUnitYearFactory(academic_year=current_academic_yr) learning_unit_yr_prerequisite = LearningUnitYearFactory(academic_year=current_academic_yr) prerequisite_item = PrerequisiteItemFactory( prerequisite=PrerequisiteFactory(learning_unit_year=learning_unit_yr), learning_unit=learning_unit_yr_prerequisite.learning_unit ) previous_academic_yr = AcademicYearFactory(year=current_academic_yr.year - 1) self.assertEqual( base.templatetags.prerequisite._get_acronym_as_href({}, prerequisite_item, previous_academic_yr), '') self.assertEqual( base.templatetags.prerequisite._get_acronym_as_href({}, prerequisite_item, current_academic_yr), _get_acronym_as_href(learning_unit_yr_prerequisite) )
def setUpTestData(cls): cls.academic_year = AcademicYearFactory(year=2018) cls.education_group_year = TrainingFactory( acronym='DROI1BA', partial_acronym='LDROI1000', academic_year=cls.academic_year) cls.learning_unit_year = LearningUnitYearFactory( academic_year=cls.academic_year, learning_container_year__academic_year=cls.academic_year) cls.prerequisite = PrerequisiteFactory( learning_unit_year=cls.learning_unit_year, education_group_year=cls.education_group_year) PrerequisiteItemFactory(prerequisite=cls.prerequisite) cls.person = PersonFactory() url_kwargs = { 'acronym': cls.learning_unit_year.acronym, 'year': cls.learning_unit_year.academic_year.year } cls.url = reverse('learning_unit_api_v1:' + LearningUnitPrerequisitesList.name, kwargs=url_kwargs)
def test_when_prerequisite_item_does_not_exist_in_formation(self): prerequisite = PrerequisiteFactory( learning_unit_year__academic_year=self.current_academic_year, education_group_year=self.current_education_group_year) item_luy = LearningUnitYearFactory( academic_year=self.current_academic_year) PrerequisiteItemFactory(prerequisite=prerequisite, learning_unit=item_luy.learning_unit) LearningUnitYearFactory( learning_unit=prerequisite.learning_unit_year.learning_unit, academic_year=self.next_academic_year, ) GroupElementYearFactory(parent=self.current_education_group_year, child_branch=None, child_leaf=prerequisite.learning_unit_year) self.postponer = PostponeContent(self.current_education_group_year) new_root = self.postponer.postpone() self.assertEqual( _("%(prerequisite_item)s is not anymore contained in " "%(education_group_year_root)s " "=> the prerequisite for %(learning_unit_year)s " "having %(prerequisite_item)s as prerequisite is not copied.") % { "education_group_year_root": "{} - {}".format(new_root.partial_acronym, new_root.acronym), "learning_unit_year": prerequisite.learning_unit_year.acronym, "prerequisite_item": item_luy.acronym }, str(self.postponer.warnings[0]), )
def setUp(self): self.prerequisite = PrerequisiteFactory()
class TestLearningUnitsAcronymsFromPrerequisite(TestCase): def setUp(self): self.prerequisite = PrerequisiteFactory() def test_empty_prerequisite_should_return_empty_list(self): self.assertEqual( extract_learning_units_acronym_from_prerequisite( self.prerequisite), []) def test_when_prerequisite_consits_of_one_learning_unit(self): learning_unit_year = LearningUnitYearFactory(acronym="LSINF1121") PrerequisiteItemFactory(learning_unit=learning_unit_year.learning_unit, prerequisite=self.prerequisite) self.assertEqual( extract_learning_units_acronym_from_prerequisite( self.prerequisite), ["LSINF1121"]) def test_when_prerequisites_multiple_learning_units_but_no_parentheses( self): learning_unit_year = LearningUnitYearFactory(acronym="LSINF1121") PrerequisiteItemFactory( learning_unit=learning_unit_year.learning_unit, prerequisite=self.prerequisite, group_number=1, position=1, ) learning_unit_year = LearningUnitYearFactory(acronym="LBIR1245A") PrerequisiteItemFactory( learning_unit=learning_unit_year.learning_unit, prerequisite=self.prerequisite, group_number=2, position=1, ) learning_unit_year = LearningUnitYearFactory(acronym="LDROI4578") PrerequisiteItemFactory( learning_unit=learning_unit_year.learning_unit, prerequisite=self.prerequisite, group_number=3, position=1, ) self.prerequisite.main_operator = AND self.prerequisite.save() self.assertCountEqual( extract_learning_units_acronym_from_prerequisite( self.prerequisite), ["LSINF1121", "LBIR1245A", "LDROI4578"]) self.prerequisite.main_operator = OR self.prerequisite.save() self.assertCountEqual( extract_learning_units_acronym_from_prerequisite( self.prerequisite), ["LSINF1121", "LBIR1245A", "LDROI4578"]) def test_when_prerequisites_multiple_learning_units_with_parentheses(self): learning_unit_year = LearningUnitYearFactory(acronym="LSINF1121") PrerequisiteItemFactory( learning_unit=learning_unit_year.learning_unit, prerequisite=self.prerequisite, group_number=1, position=1, ) learning_unit_year = LearningUnitYearFactory(acronym="LBIR1245A") PrerequisiteItemFactory( learning_unit=learning_unit_year.learning_unit, prerequisite=self.prerequisite, group_number=1, position=2, ) learning_unit_year = LearningUnitYearFactory(acronym="LDROI4578") PrerequisiteItemFactory( learning_unit=learning_unit_year.learning_unit, prerequisite=self.prerequisite, group_number=2, position=1, ) self.prerequisite.main_operator = AND self.prerequisite.save() self.assertCountEqual( extract_learning_units_acronym_from_prerequisite( self.prerequisite), ["LSINF1121", "LBIR1245A", "LDROI4578"]) self.prerequisite.main_operator = OR self.prerequisite.save() self.assertCountEqual( extract_learning_units_acronym_from_prerequisite( self.prerequisite), ["LSINF1121", "LBIR1245A", "LDROI4578"])
def setUpTestData(cls): cls.prerequisite = PrerequisiteFactory()
def setUp(self): self.luy_1 = LearningUnitYearFactory() self.luy_2 = LearningUnitYearFactory() self.prerequisite = PrerequisiteFactory() self.prerequisite_pk = self.prerequisite.pk