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)
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)