import json from flask import url_for from src.constants.core import EXECUTIVE, JOB_CHOICES from src.legacy.auth.management_api import Auth0ManagementAPI def test_job_categories_retrieving(client, user_id, patch_auth_user): patch_auth_user(user_id) url = url_for("apollo_api_blueprint.job_categories") response = client.get(url) job_categories = [] for k, v in dict(JOB_CHOICES).items(): job_categories.append({"name": k, "id": v}) set_categories = set(tuple(sorted(d.items())) for d in job_categories) set_response = set(tuple(sorted(d.items())) for d in response.json) assert set_categories & set_response def test_job_categories_updating(mocker, user_id, client, patch_auth_user): mocker.patch.object(Auth0ManagementAPI, "get_management_token") mocker.patch.object(Auth0ManagementAPI, "update_user_metadata") Auth0ManagementAPI.update_user_metadata.return_value = { "apollo": {"homeMarketID": 14}, "apollo_go_job_category": {"id": EXECUTIVE, "name": "Executive"}, } patch_auth_user(user_id) url = url_for("apollo_api_blueprint.job_categories") request_data = json.dumps({"category": EXECUTIVE}) response = client.post(url, data=request_data, content_type="application/json") assert response.json["status"] == "OK"