示例#1
0
    def test_auditable_model_delete(self):
        luy = LearningUnitYearFactory()
        geys = [GroupElementYearFactory(child_leaf=luy) for i in range(20)]

        # First delete only a group
        result = geys[0].delete()
        self.assertTrue(result)

        self.assertEqual(result, [geys[0]])
        self.is_not_existing_for_orm(geys[0])

        # Now delete all the data with the learning unit
        luy.delete()
        self.is_not_existing_for_orm(luy)
        for gey in geys:
            self.is_not_existing_for_orm(gey)
示例#2
0
    def test_auditable_model_delete_with_database_error(self):
        luy = LearningUnitYearFactory()
        geys = [GroupElementYearFactory(child_leaf=luy) for i in range(20)]

        result = None
        with patch.object(AuditableModel, 'save') as mock_method:
            mock_method.side_effect = DatabaseError("test error")

            try:
                luy.delete()
            except DatabaseError as e:
                result = e

        self.assertIsInstance(result, DatabaseError)
        self.is_existing_for_orm(luy)
        for gey in geys:
            self.is_existing_for_orm(gey)