DFiP_Budget_planing/api/tests/integration/test_users_api_smoke.py

86 lines
3.0 KiB
Python

import uuid
def test_users_me(client, admin_tokens, auth_headers):
response = client.get("/api/v1/users/me", headers=auth_headers(admin_tokens))
assert response.status_code == 200
assert response.json()["username"] == "admin"
def test_users_list(client, admin_tokens, auth_headers):
response = client.get("/api/v1/users/", headers=auth_headers(admin_tokens))
assert response.status_code == 200
result = response.json()
assert "result" in result
assert isinstance(result["result"], list)
def test_users_org_list(client, admin_tokens, auth_headers):
response = client.get("/api/v1/users/?load_orgs=true", headers=auth_headers(admin_tokens))
assert response.status_code == 200
result = response.json()
assert "result" in result
assert isinstance(result["result"], list)
assert len(result["result"]) > 0
assert "org_units" in result["result"][0]
assert len(result["result"][0]["org_units"]) > 0
def test_users_get(client, admin_tokens, auth_headers):
response = client.get("/api/v1/users/me", headers=auth_headers(admin_tokens))
assert response.status_code == 200
user = response.json()
assert "id" in user
user_id = user["id"]
response = client.get(f"/api/v1/users/{user_id}", headers=auth_headers(admin_tokens))
assert response.status_code == 200
def test_user_get_org_list(client, admin_tokens, auth_headers):
response = client.get("/api/v1/users/me", headers=auth_headers(admin_tokens))
assert response.status_code == 200
user = response.json()
assert "id" in user
user_id = user["id"]
response = client.get(f"/api/v1/users/{user_id}?load_orgs=true", headers=auth_headers(admin_tokens))
assert response.status_code == 200
result = response.json()
assert "org_units" in result
assert len(result["org_units"]) > 0
# Задокуменировано что бы не было переполнения бд, так как юзер удаляется только логически
# def test_users_create_smoke(client, admin_tokens, auth_headers):
# suffix = uuid.uuid4().hex[:8]
# username = f"user_{suffix}"
# # create_payload = {
# # "email": f"{username}@example.com",
# # "username": username,
# # "password": "pass123",
# # "full_name": "User One",
# # "role_id": 2,
# # }
# created = client.put(
# "/api/v1/users/",
# json={
# "email": f"{username}@example.com",
# "username": username,
# "password": "pass123",
# "full_name": "User One",
# "role_id": 2,
# },
# headers=auth_headers(admin_tokens),
# )
# assert created.status_code == 200
# assert created.json()["result"]["username"] == username
# # Что бы не было переполнения бд
# deleted = client.delete(
# f"/api/v1/users/{created.json()['result']['id']}",
# headers=auth_headers(admin_tokens),
# )
# assert deleted.status_code == 200