def delete(self, team_id): """ Deletes a Team --- tags: - teams produces: - application/json parameters: - in: header name: Authorization description: Base64 encoded session token required: true type: string default: Token sessionTokenHere== - name: team_id in: path description: The unique team ID required: true type: integer default: 1 responses: 200: description: Team deleted 401: description: Unauthorized - Invalid credentials 403: description: Forbidden - Team has associated projects 404: description: Team not found 500: description: Internal Server Error """ if not TeamService.is_user_team_manager(team_id, token_auth.current_user()): return {"Error": "User is not a manager for the team"}, 401 try: TeamService.delete_team(team_id) return {"Success": "Team deleted"}, 200 except NotFound: return {"Error": "Team Not Found"}, 404 except Exception as e: error_msg = f"Team DELETE - unhandled error: {str(e)}" current_app.logger.critical(error_msg) return {"Error": error_msg}, 500
def test_delete_team_project(self): team_id = 1 with self.assertRaises(TeamServiceError): TeamService.delete_team(team_id)