import pytest from httpx import AsyncClient from fastapi import status BASE_URL = "/api/pessoa" @pytest.mark.anyio async def test_route_exists(client: AsyncClient): response = await client.post(f"{BASE_URL}/get_all") assert response.status_code != 404 # Certifica-se de que a rota existe @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_create_one(client: AsyncClient, uuid_store_pessoa: dict, uuid_store_tipo_endereco, uuid_store_relacao_comercial, uuid_store_endereco): response = await client.post(f"{BASE_URL}/add_one", json={"pessoa_status": True, "fisica_cpf": "00000000001", "pessoa_telefone": "telteste1", "pessoa_celular": "celteste1", "pessoa_email": "email1@email.com", "pessoa_local_evento": True, "pessoa_tipo": "1", "fisica_rg": "rg teste 1", "fisica_genero": "M", "fisica_nome": "nome teste 1"} ) if response.status_code in [200, 201, 204, 404, 422]: assert response.status_code == 201 data = response.json() assert data["pessoa_status"] is True assert data["fisica_cpf"] == "00000000001" assert data["pessoa_telefone"] == "telteste1" assert data["pessoa_celular"] == "celteste1" assert data["pessoa_email"] == "email1@email.com" assert data["pessoa_local_evento"] is True assert data["pessoa_tipo"] == "1" assert data["fisica_rg"] == "rg teste 1" assert data["fisica_genero"] == "M" assert data["fisica_nome"] == "nome teste 1" assert data["enderecos"] == [] assert data["rc"] == [] uuid_store_pessoa["uuid_3"] = response.json()["uuid"] elif response.status_code == 403: assert response.status_code == 403, "Esperado status 403 para usuário sem permissões." else: assert False, f"Status inesperado: {response.status_code}, detalhe: {response.json()}" @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_create_many(client: AsyncClient, uuid_store_pessoa: dict, uuid_store_tipo_endereco: dict, uuid_store_relacao_comercial: dict, uuid_store_endereco: dict): response = await client.post(f"{BASE_URL}/add_many", json=[ # 0 {"pessoa_status": True, "fisica_cpf": "00000000002", "pessoa_telefone": "telteste2", "pessoa_celular": "celteste2", "pessoa_email": "email2@email.com", "pessoa_local_evento": True, "pessoa_tipo": "1", "fisica_rg": "rg teste 2", "fisica_genero": "M", "fisica_nome": "nome teste 2", "enderecos": [{"endereco_pessoa_status": True, "endereco_pessoa_descricao": "descricao 2", "endereco_pessoa_numero": "numero 2", "endereco_pessoa_complemento": "complemento 2", "endereco_pessoa_cep": "00000000", "fk_tipo_endereco_uuid": uuid_store_tipo_endereco["uuid_6"]}], "rc": [{"uuid": uuid_store_relacao_comercial["uuid_6"]} ]}, # 1 {"pessoa_status": True, "fisica_cpf": "00000000003", "pessoa_telefone": "telteste3", "pessoa_celular": "celteste3", "pessoa_email": "email3@email.com", "pessoa_local_evento": False, "pessoa_tipo": "1", "fisica_rg": "rg teste 3", "fisica_genero": "F", "fisica_nome": "nome teste 3", "rc": [{"uuid": uuid_store_relacao_comercial["uuid_6"]}]}, # 2 {"pessoa_status": False, "fisica_cpf": "00000000004", "pessoa_telefone": "telteste4", "pessoa_celular": "celteste4", "pessoa_email": "email4@email.com", "pessoa_local_evento": True, "pessoa_tipo": "1", "fisica_rg": "rg teste 4", "fisica_genero": "F", "fisica_nome": "nome teste 4", "enderecos": [{"endereco_pessoa_status": False, "endereco_pessoa_descricao": "descricao 4", "endereco_pessoa_numero": "numero 4", "endereco_pessoa_complemento": "complemento 4", "endereco_pessoa_cep": "00000000", "fk_tipo_endereco_uuid": uuid_store_tipo_endereco["uuid_6"]}]}, # 3 {"pessoa_status": True, "juridica_cnpj": "00000000000005", "pessoa_telefone": "telteste5", "pessoa_celular": "celteste5", "pessoa_email": "email5@email.com", "pessoa_local_evento": True, "pessoa_tipo": "0", "juridica_email_fiscal": "email_fiscal5@email.com", "juridica_insc_est": "ins est 5", "juridica_ins_mun": "insc mun 5", "juridica_razao_social": "razão social 5", "juridica_representante": "representante 5", "rc": [{"uuid": uuid_store_relacao_comercial["uuid_8"]} ]}, # 4 {"pessoa_status": True, "juridica_cnpj": "00000000000006", "pessoa_telefone": "telteste6", "pessoa_celular": "celteste6", "pessoa_email": "email6@email.com", "pessoa_local_evento": True, "pessoa_tipo": "0", "juridica_email_fiscal": "email_fiscal6@email.com", "juridica_insc_est": "ins est 6", "juridica_ins_mun": "insc mun 6", "juridica_razao_social": "razão social 5", "juridica_representante": "representante 6", "enderecos": [{"endereco_pessoa_status": True, "endereco_pessoa_descricao": "descricao 6", "endereco_pessoa_numero": "numero 6", "endereco_pessoa_complemento": "complemento 6", "endereco_pessoa_cep": "00000000", "fk_tipo_endereco_uuid": uuid_store_tipo_endereco["uuid_6"]}], "rc": [{"uuid": uuid_store_relacao_comercial["uuid_7"]} ]}, # 5 {"pessoa_status": False, "juridica_cnpj": "00000000000007", "pessoa_telefone": "telteste7", "pessoa_celular": "celteste7", "pessoa_email": "email7@email.com", "pessoa_local_evento": False, "pessoa_tipo": "0", "juridica_email_fiscal": "email_fiscal7@email.com", "juridica_insc_est": "ins est 7", "juridica_ins_mun": "insc mun 7", "juridica_razao_social": "razão social 7", "juridica_representante": "representante 7", "enderecos": [{"endereco_pessoa_status": True, "endereco_pessoa_descricao": "descricao 7", "endereco_pessoa_numero": "numero 7", "endereco_pessoa_complemento": "complemento 7", "endereco_pessoa_cep": "00000000", "fk_tipo_endereco_uuid": uuid_store_tipo_endereco["uuid_6"]}], "rc": [{"uuid": uuid_store_relacao_comercial["uuid_7"]} ]}, # 6 {"pessoa_status": True, "juridica_cnpj": "00000000000008", "pessoa_telefone": "telteste8", "pessoa_celular": "celteste8", "pessoa_email": "email8@email.com", "pessoa_local_evento": True, "pessoa_tipo": "0", "juridica_email_fiscal": "email_fiscal8@email.com", "juridica_insc_est": "ins est 8", "juridica_ins_mun": "insc mun 8", "juridica_razao_social": "razão social 8", "juridica_representante": "representante 8"} ]) if response.status_code in [200, 201, 204, 404, 422]: assert response.status_code == 201 data = response.json() assert len(data) == 7 assert data[0]["fisica_cpf"] == "00000000002" assert data[1]["fisica_cpf"] == "00000000003" assert data[1]["enderecos"] == [] assert data[2]["fisica_cpf"] == "00000000004" assert data[2]["rc"] == [] assert data[3]["juridica_cnpj"] == "00000000000005" assert data[3]["enderecos"] == [] assert data[4]["juridica_cnpj"] == "00000000000006" assert data[5]["juridica_cnpj"] == "00000000000007" assert data[6]["juridica_cnpj"] == "00000000000008" assert data[6]["enderecos"] == [] assert data[6]["rc"] == [] uuid_store_pessoa["uuid_4"] = data[0]["uuid"] uuid_store_pessoa["uuid_5"] = data[1]["uuid"] uuid_store_pessoa["uuid_6"] = data[2]["uuid"] uuid_store_pessoa["uuid_7"] = data[3]["uuid"] uuid_store_pessoa["uuid_8"] = data[4]["uuid"] uuid_store_pessoa["uuid_9"] = data[5]["uuid"] uuid_store_pessoa["uuid_10"] = data[6]["uuid"] uuid_store_endereco["uuid_3"] = data[0]["enderecos"][0]["uuid"] uuid_store_endereco["uuid_4"] = data[2]["enderecos"][0]["uuid"] uuid_store_endereco["uuid_5"] = data[4]["enderecos"][0]["uuid"] uuid_store_endereco["uuid_6"] = data[5]["enderecos"][0]["uuid"] elif response.status_code == 403: assert response.status_code == 403, "Esperado status 403 para usuário sem permissões." else: assert False, f"Status inesperado: {response.status_code}, detalhe: {response.json()}" @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque", "pessoa"]) async def test_get_all(client: AsyncClient): response = await client.post(f"{BASE_URL}/get_all") if response.status_code in [200, 201, 204, 404, 422]: assert response.status_code == 200 data = response.json() assert isinstance(data, list) elif response.status_code == 403: assert response.status_code == 403, "Esperado status 403 para usuário sem permissões." else: assert False, f"Status inesperado: {response.status_code}, detalhe: {response.json()}" @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_get_many(client: AsyncClient, uuid_store_pessoa: dict): uuids = [uuid_store_pessoa["uuid_3"], uuid_store_pessoa["uuid_4"]] response = await client.post(f"{BASE_URL}/get_many", json={"uuids": uuids}) assert response.status_code == 200 data = response.json() assert isinstance(data, list) assert len(data) == 2 assert data[0]["pessoa_celular"] == "celteste1" assert data[0]["pessoa_email"] == "email1@email.com" assert data[1]["pessoa_celular"] == "celteste2" assert data[1]["pessoa_email"] == "email2@email.com" @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_get_one(client: AsyncClient, uuid_store_pessoa: dict): response = await client.post(f"{BASE_URL}/get_one", json={"uuid": uuid_store_pessoa["uuid_3"]}) assert response.status_code == 200 data = response.json() assert "uuid" in data assert data["pessoa_local_evento"] is True assert data["pessoa_tipo"] == "1" assert data["uuid"] == uuid_store_pessoa["uuid_3"] @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_update_one_existing_item_fisica(client: AsyncClient, uuid_store_pessoa: dict): response = await client.put(f"{BASE_URL}/update_one", json={"uuid": uuid_store_pessoa["uuid_3"], "pessoa_status": True, "fisica_cpf": "u0000000001", "pessoa_telefone": "up telteste1", "pessoa_celular": "012345678", "pessoa_email": "email_update1@email.com", "pessoa_local_evento": True, "pessoa_tipo": "1", "fisica_rg": "up rg teste 1", "fisica_genero": "M", "fisica_nome": "up nome teste 1"}) assert response.status_code == 201 data = response.json() assert data["uuid"] == uuid_store_pessoa["uuid_3"] assert data["pessoa_status"] is True assert data["fisica_cpf"] == "u0000000001" assert data["pessoa_telefone"] == "up telteste1" assert data["pessoa_celular"] == "012345678" assert data["pessoa_email"] == "email_update1@email.com" assert data["pessoa_local_evento"] is True assert data["pessoa_tipo"] == "1" assert data["fisica_rg"] == "up rg teste 1" assert data["fisica_genero"] == "M" assert data["fisica_nome"] == "up nome teste 1" assert data["enderecos"] == [] assert data["rc"] == [] @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_update_one_existing_item_fisica_rc(client: AsyncClient, uuid_store_pessoa: dict, uuid_store_relacao_comercial: dict): response = await client.put(f"{BASE_URL}/update_one", json={"uuid": uuid_store_pessoa["uuid_5"], "pessoa_status": True, "fisica_cpf": "u0000000003", "pessoa_telefone": "up telteste3", "pessoa_celular": "012345678", "pessoa_email": "email_update3@email.com", "pessoa_local_evento": True, "pessoa_tipo": "1", "fisica_rg": "up rg teste 3", "fisica_genero": "M", "fisica_nome": "up nome teste 3", "rc": [{"uuid": uuid_store_relacao_comercial["uuid_7"]}]}) assert response.status_code == 201 data = response.json() assert data["uuid"] == uuid_store_pessoa["uuid_5"] assert data["pessoa_status"] is True assert data["fisica_cpf"] == "u0000000003" assert data["pessoa_telefone"] == "up telteste3" assert data["pessoa_celular"] == "012345678" assert data["pessoa_email"] == "email_update3@email.com" assert data["pessoa_local_evento"] is True assert data["pessoa_tipo"] == "1" assert data["fisica_rg"] == "up rg teste 3" assert data["fisica_genero"] == "M" assert data["fisica_nome"] == "up nome teste 3" assert data["enderecos"] == [] assert data["rc"][0]["uuid"] == uuid_store_relacao_comercial["uuid_7"] assert len(data["rc"]) == 1 @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_update_one_existing_item_fisica_2rc(client: AsyncClient, uuid_store_pessoa: dict, uuid_store_relacao_comercial: dict): response = await client.put(f"{BASE_URL}/update_one", json={"uuid": uuid_store_pessoa["uuid_5"], "pessoa_status": True, "fisica_cpf": "u0000000003", "pessoa_telefone": "up telteste3", "pessoa_celular": "012345678", "pessoa_email": "email_update3@email.com", "pessoa_local_evento": True, "pessoa_tipo": "1", "fisica_rg": "up rg teste 3", "fisica_genero": "M", "fisica_nome": "up nome teste 3", "rc": [{"uuid": uuid_store_relacao_comercial["uuid_7"]}, {"uuid": uuid_store_relacao_comercial["uuid_8"]}]}) assert response.status_code == 201 data = response.json() assert data["uuid"] == uuid_store_pessoa["uuid_5"] assert data["pessoa_status"] is True assert data["fisica_cpf"] == "u0000000003" assert data["pessoa_telefone"] == "up telteste3" assert data["pessoa_celular"] == "012345678" assert data["pessoa_email"] == "email_update3@email.com" assert data["pessoa_local_evento"] is True assert data["pessoa_tipo"] == "1" assert data["fisica_rg"] == "up rg teste 3" assert data["fisica_genero"] == "M" assert data["fisica_nome"] == "up nome teste 3" assert data["enderecos"] == [] assert data["rc"][1]["uuid"] == uuid_store_relacao_comercial["uuid_7"] assert data["rc"][0]["uuid"] == uuid_store_relacao_comercial["uuid_8"] assert len(data["rc"]) == 2 @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_update_one_existing_item_fisica_end(client: AsyncClient, uuid_store_pessoa: dict, uuid_store_tipo_endereco: dict, uuid_store_endereco: dict): response = await client.put(f"{BASE_URL}/update_one", json={"uuid": uuid_store_pessoa["uuid_6"], "pessoa_status": False, "fisica_cpf": "u0000000004", "pessoa_telefone": "uptelteste4", "pessoa_celular": "upteste4", "pessoa_email": "email_update4@email.com", "pessoa_local_evento": True, "pessoa_tipo": "1", "fisica_rg": "up rg teste 4", "fisica_genero": "F", "fisica_nome": "Ricardo Junio Daleprane", "enderecos": [ {"uuid": uuid_store_endereco["uuid_4"], "endereco_pessoa_status": False, "endereco_pessoa_descricao": "up descricao 4", "endereco_pessoa_numero": "up num 4", "endereco_pessoa_complemento": "up complemento 4", "endereco_pessoa_cep": "00000000", "fk_tipo_endereco_uuid": uuid_store_tipo_endereco["uuid_7"]}]}) assert response.status_code == 201 data = response.json() assert data["uuid"] == uuid_store_pessoa["uuid_6"] assert data["pessoa_status"] is False assert data["fisica_cpf"] == "u0000000004" assert data["pessoa_telefone"] == "uptelteste4" assert data["pessoa_celular"] == "upteste4" assert data["pessoa_email"] == "email_update4@email.com" assert data["pessoa_local_evento"] is True assert data["pessoa_tipo"] == "1" assert data["fisica_rg"] == "up rg teste 4" assert data["fisica_genero"] == "F" assert data["fisica_nome"] == "Ricardo Junio Daleprane" assert data["enderecos"][0]["uuid"] == uuid_store_endereco["uuid_4"] assert data["enderecos"][0]["endereco_pessoa_status"] is False assert data["enderecos"][0]["endereco_pessoa_descricao"] == "up descricao 4" assert data["enderecos"][0]["endereco_pessoa_numero"] == "up num 4" assert data["enderecos"][0]["endereco_pessoa_complemento"] == "up complemento 4" assert data["enderecos"][0]["endereco_pessoa_cep"] == "00000000" assert data["enderecos"][0]["fk_tipo_endereco_uuid"] == uuid_store_tipo_endereco["uuid_7"] assert data["rc"] == [] assert len(data["enderecos"]) == 1 @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_update_one_existing_item_fisica_2end(client: AsyncClient, uuid_store_pessoa: dict, uuid_store_tipo_endereco: dict, uuid_store_endereco: dict): response = await client.put(f"{BASE_URL}/update_one", json={"uuid": uuid_store_pessoa["uuid_6"], "pessoa_status": False, "fisica_cpf": "u0000000004", "pessoa_telefone": "uptelteste4", "pessoa_celular": "upteste4", "pessoa_email": "email_update4@email.com", "pessoa_local_evento": True, "pessoa_tipo": "1", "fisica_rg": "up rg teste 4", "fisica_genero": "F", "fisica_nome": "Ricardo Junio Daleprane", "enderecos": [ {"uuid": uuid_store_endereco["uuid_4"], "endereco_pessoa_status": False, "endereco_pessoa_descricao": "up descricao 4", "endereco_pessoa_numero": "up num 4", "endereco_pessoa_complemento": "up complemento 4", "endereco_pessoa_cep": "00000000", "fk_tipo_endereco_uuid": uuid_store_tipo_endereco["uuid_7"]}, {"endereco_pessoa_status": True, "endereco_pessoa_descricao": "novo descricao 4", "endereco_pessoa_numero": "n num 4", "endereco_pessoa_complemento": "novo complemento 4", "endereco_pessoa_cep": "00000000", "fk_tipo_endereco_uuid": uuid_store_tipo_endereco["uuid_6"]} ]}) assert response.status_code == 201 data = response.json() assert data["uuid"] == uuid_store_pessoa["uuid_6"] assert data["pessoa_status"] is False assert data["fisica_cpf"] == "u0000000004" assert data["pessoa_telefone"] == "uptelteste4" assert data["pessoa_celular"] == "upteste4" assert data["pessoa_email"] == "email_update4@email.com" assert data["pessoa_local_evento"] is True assert data["pessoa_tipo"] == "1" assert data["fisica_rg"] == "up rg teste 4" assert data["fisica_genero"] == "F" assert data["fisica_nome"] == "Ricardo Junio Daleprane" assert data["enderecos"][0]["uuid"] == uuid_store_endereco["uuid_4"] assert data["enderecos"][0]["endereco_pessoa_status"] is False assert data["enderecos"][0]["endereco_pessoa_descricao"] == "up descricao 4" assert data["enderecos"][0]["endereco_pessoa_numero"] == "up num 4" assert data["enderecos"][0]["endereco_pessoa_complemento"] == "up complemento 4" assert data["enderecos"][0]["endereco_pessoa_cep"] == "00000000" assert data["enderecos"][0]["fk_tipo_endereco_uuid"] == uuid_store_tipo_endereco["uuid_7"] assert data["enderecos"][1]["endereco_pessoa_status"] is True assert data["enderecos"][1]["endereco_pessoa_descricao"] == "novo descricao 4" assert data["enderecos"][1]["endereco_pessoa_numero"] == "n num 4" assert data["enderecos"][1]["endereco_pessoa_complemento"] == "novo complemento 4" assert data["enderecos"][1]["endereco_pessoa_cep"] == "00000000" assert data["enderecos"][1]["fk_tipo_endereco_uuid"] == uuid_store_tipo_endereco["uuid_6"] assert data["rc"] == [] assert len(data["enderecos"]) == 2 uuid_store_endereco["uuid_7"] = data["enderecos"][1]["uuid"] @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_update_one_existing_item_fisica_rc_and_end(client: AsyncClient, uuid_store_pessoa: dict, uuid_store_tipo_endereco: dict, uuid_store_endereco: dict, uuid_store_relacao_comercial: dict, ): response = await client.put(f"{BASE_URL}/update_one", json={"uuid": uuid_store_pessoa["uuid_6"], "pessoa_status": False, "fisica_cpf": "u0000000004", "pessoa_telefone": "uptelteste4", "pessoa_celular": "upteste4", "pessoa_email": "email_update4@email.com", "pessoa_local_evento": True, "pessoa_tipo": "1", "fisica_rg": "up rg teste 4", "fisica_genero": "F", "fisica_nome": "Ricardo Junio Daleprane", "enderecos": [ {"uuid": uuid_store_endereco["uuid_4"], "endereco_pessoa_status": False, "endereco_pessoa_descricao": "up descricao 4", "endereco_pessoa_numero": "up num 4", "endereco_pessoa_complemento": "up complemento 4", "endereco_pessoa_cep": "00000000", "fk_tipo_endereco_uuid": uuid_store_tipo_endereco["uuid_7"]}], "rc": [{"uuid": uuid_store_relacao_comercial["uuid_7"]}] }) assert response.status_code == 201 data = response.json() assert data["uuid"] == uuid_store_pessoa["uuid_6"] assert data["pessoa_status"] is False assert data["fisica_cpf"] == "u0000000004" assert data["pessoa_telefone"] == "uptelteste4" assert data["pessoa_celular"] == "upteste4" assert data["pessoa_email"] == "email_update4@email.com" assert data["pessoa_local_evento"] is True assert data["pessoa_tipo"] == "1" assert data["fisica_rg"] == "up rg teste 4" assert data["fisica_genero"] == "F" assert data["fisica_nome"] == "Ricardo Junio Daleprane" assert data["enderecos"][0]["uuid"] == uuid_store_endereco["uuid_4"] assert data["enderecos"][0]["endereco_pessoa_status"] is False assert data["enderecos"][0]["endereco_pessoa_descricao"] == "up descricao 4" assert data["enderecos"][0]["endereco_pessoa_numero"] == "up num 4" assert data["enderecos"][0]["endereco_pessoa_complemento"] == "up complemento 4" assert data["enderecos"][0]["endereco_pessoa_cep"] == "00000000" assert data["enderecos"][0]["fk_tipo_endereco_uuid"] == uuid_store_tipo_endereco["uuid_7"] assert data["rc"][0]["uuid"] == uuid_store_relacao_comercial["uuid_7"] assert len(data["enderecos"]) == 1 assert len(data["rc"]) == 1 @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_update_one_existing_item_fisica_2rc_and_2end(client: AsyncClient, uuid_store_pessoa: dict, uuid_store_tipo_endereco: dict, uuid_store_endereco: dict, uuid_store_relacao_comercial: dict): response = await client.put(f"{BASE_URL}/update_one", json={"uuid": uuid_store_pessoa["uuid_6"], "pessoa_status": False, "fisica_cpf": "u0000000004", "pessoa_telefone": "uptelteste4", "pessoa_celular": "upteste4", "pessoa_email": "email_update4@email.com", "pessoa_local_evento": True, "pessoa_tipo": "1", "fisica_rg": "up rg teste 4", "fisica_genero": "F", "fisica_nome": "Ricardo Junio Daleprane", "enderecos": [ {"uuid": uuid_store_endereco["uuid_4"], "endereco_pessoa_status": False, "endereco_pessoa_descricao": "up descricao 4", "endereco_pessoa_numero": "up num 4", "endereco_pessoa_complemento": "up complemento 4", "endereco_pessoa_cep": "00000000", "fk_tipo_endereco_uuid": uuid_store_tipo_endereco["uuid_7"]}, {"endereco_pessoa_status": True, "endereco_pessoa_descricao": "novo descricao 4", "endereco_pessoa_numero": "n num 4", "endereco_pessoa_complemento": "novo complemento 4", "endereco_pessoa_cep": "00000000", "fk_tipo_endereco_uuid": uuid_store_tipo_endereco["uuid_6"]} ], "rc": [{"uuid": uuid_store_relacao_comercial["uuid_7"]}, {"uuid": uuid_store_relacao_comercial["uuid_8"]}] }) assert response.status_code == 201 data = response.json() assert data["uuid"] == uuid_store_pessoa["uuid_6"] assert data["pessoa_status"] is False assert data["fisica_cpf"] == "u0000000004" assert data["pessoa_telefone"] == "uptelteste4" assert data["pessoa_celular"] == "upteste4" assert data["pessoa_email"] == "email_update4@email.com" assert data["pessoa_local_evento"] is True assert data["pessoa_tipo"] == "1" assert data["fisica_rg"] == "up rg teste 4" assert data["fisica_genero"] == "F" assert data["fisica_nome"] == "Ricardo Junio Daleprane" assert data["enderecos"][0]["uuid"] == uuid_store_endereco["uuid_4"] assert data["enderecos"][0]["endereco_pessoa_status"] is False assert data["enderecos"][0]["endereco_pessoa_descricao"] == "up descricao 4" assert data["enderecos"][0]["endereco_pessoa_numero"] == "up num 4" assert data["enderecos"][0]["endereco_pessoa_complemento"] == "up complemento 4" assert data["enderecos"][0]["endereco_pessoa_cep"] == "00000000" assert data["enderecos"][0]["fk_tipo_endereco_uuid"] == uuid_store_tipo_endereco["uuid_7"] assert data["enderecos"][1]["endereco_pessoa_status"] is True assert data["enderecos"][1]["endereco_pessoa_descricao"] == "novo descricao 4" assert data["enderecos"][1]["endereco_pessoa_numero"] == "n num 4" assert data["enderecos"][1]["endereco_pessoa_complemento"] == "novo complemento 4" assert data["enderecos"][1]["endereco_pessoa_cep"] == "00000000" assert data["enderecos"][1]["fk_tipo_endereco_uuid"] == uuid_store_tipo_endereco["uuid_6"] assert data["rc"][0]["uuid"] == uuid_store_relacao_comercial["uuid_8"] assert data["rc"][1]["uuid"] == uuid_store_relacao_comercial["uuid_7"] assert len(data["enderecos"]) == 2 assert len(data["rc"]) == 2 uuid_store_endereco["uuid_8"] = data["enderecos"][1]["uuid"] @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_update_one_existing_item_fisica_2rc_to_1rc(client: AsyncClient, uuid_store_pessoa: dict, uuid_store_relacao_comercial: dict): response = await client.put(f"{BASE_URL}/update_one", json={"uuid": uuid_store_pessoa["uuid_5"], "pessoa_status": True, "fisica_cpf": "u0000000003", "pessoa_telefone": "up telteste3", "pessoa_celular": "012345678", "pessoa_email": "email_update3@email.com", "pessoa_local_evento": True, "pessoa_tipo": "1", "fisica_rg": "up rg teste 3", "fisica_genero": "M", "fisica_nome": "up nome teste 3", "rc": [{"uuid": uuid_store_relacao_comercial["uuid_7"]}, ]}) assert response.status_code == 201 data = response.json() assert data["uuid"] == uuid_store_pessoa["uuid_5"] assert data["pessoa_status"] is True assert data["fisica_cpf"] == "u0000000003" assert data["pessoa_telefone"] == "up telteste3" assert data["pessoa_celular"] == "012345678" assert data["pessoa_email"] == "email_update3@email.com" assert data["pessoa_local_evento"] is True assert data["pessoa_tipo"] == "1" assert data["fisica_rg"] == "up rg teste 3" assert data["fisica_genero"] == "M" assert data["fisica_nome"] == "up nome teste 3" assert data["rc"][0]["uuid"] == uuid_store_relacao_comercial["uuid_7"] assert data["enderecos"] == [] assert len(data["rc"]) == 1 @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_update_one_existing_item_fisica_2end_to_1end_and_0rc(client: AsyncClient, uuid_store_pessoa: dict, uuid_store_tipo_endereco: dict, uuid_store_endereco: dict): response = await client.put(f"{BASE_URL}/update_one", json={"uuid": uuid_store_pessoa["uuid_6"], "pessoa_status": False, "fisica_cpf": "u0000000004", "pessoa_telefone": "uptelteste4", "pessoa_celular": "upteste4", "pessoa_email": "email_update4@email.com", "pessoa_local_evento": True, "pessoa_tipo": "1", "fisica_rg": "up rg teste 4", "fisica_genero": "F", "fisica_nome": "Ricardo Junio Daleprane", "enderecos": [ {"uuid": uuid_store_endereco["uuid_4"], "endereco_pessoa_status": False, "endereco_pessoa_descricao": "up descricao 4", "endereco_pessoa_numero": "up num 4", "endereco_pessoa_complemento": "up complemento 4", "endereco_pessoa_cep": "00000000", "fk_tipo_endereco_uuid": uuid_store_tipo_endereco["uuid_7"]}, ]}) assert response.status_code == 201 data = response.json() assert data["uuid"] == uuid_store_pessoa["uuid_6"] assert data["pessoa_status"] is False assert data["fisica_cpf"] == "u0000000004" assert data["pessoa_telefone"] == "uptelteste4" assert data["pessoa_celular"] == "upteste4" assert data["pessoa_email"] == "email_update4@email.com" assert data["pessoa_local_evento"] is True assert data["pessoa_tipo"] == "1" assert data["fisica_rg"] == "up rg teste 4" assert data["fisica_genero"] == "F" assert data["fisica_nome"] == "Ricardo Junio Daleprane" assert data["enderecos"][0]["uuid"] == uuid_store_endereco["uuid_4"] assert data["enderecos"][0]["endereco_pessoa_status"] is False assert data["enderecos"][0]["endereco_pessoa_descricao"] == "up descricao 4" assert data["enderecos"][0]["endereco_pessoa_numero"] == "up num 4" assert data["enderecos"][0]["endereco_pessoa_complemento"] == "up complemento 4" assert data["enderecos"][0]["endereco_pessoa_cep"] == "00000000" assert data["enderecos"][0]["fk_tipo_endereco_uuid"] == uuid_store_tipo_endereco["uuid_7"] assert data["rc"] == [] assert len(data["enderecos"]) == 1 @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_update_one_existing_item_juridica(client: AsyncClient, uuid_store_pessoa: dict): response = await client.put(f"{BASE_URL}/update_one", json={"uuid": uuid_store_pessoa["uuid_10"], "pessoa_status": False, "juridica_cnpj": "u0000000000008", "pessoa_telefone": "uptelteste8", "pessoa_celular": "upteste8", "pessoa_email": "email_update8@email.com", "pessoa_local_evento": True, "pessoa_tipo": "0", "juridica_email_fiscal": "email_fiscal_update8@email.com", "juridica_insc_est": "up ins est 8", "juridica_ins_mun": "up insc mun 8", "juridica_razao_social": "up razão social 8", "juridica_representante": "up representante 8"}) assert response.status_code == 201 data = response.json() assert data["uuid"] == uuid_store_pessoa["uuid_10"] assert data["pessoa_status"] is False assert data["juridica_cnpj"] == "u0000000000008" assert data["pessoa_telefone"] == "uptelteste8" assert data["pessoa_celular"] == "upteste8" assert data["pessoa_email"] == "email_update8@email.com" assert data["pessoa_local_evento"] is True assert data["pessoa_tipo"] == "0" assert data["juridica_email_fiscal"] == "email_fiscal_update8@email.com" assert data["juridica_insc_est"] == "up ins est 8" assert data["juridica_ins_mun"] == "up insc mun 8" assert data["juridica_razao_social"] == "up razão social 8" assert data["juridica_representante"] == "up representante 8" assert data["enderecos"] == [] assert data["rc"] == [] @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_update_one_existing_item_juridica_rc(client: AsyncClient, uuid_store_pessoa: dict, uuid_store_relacao_comercial: dict): response = await client.put(f"{BASE_URL}/update_one", json={"uuid": uuid_store_pessoa["uuid_10"], "pessoa_status": False, "juridica_cnpj": "u0000000000008", "pessoa_telefone": "uptelteste8", "pessoa_celular": "upteste8", "pessoa_email": "email_update8@email.com", "pessoa_local_evento": True, "pessoa_tipo": "0", "juridica_email_fiscal": "email_fiscal_update8@email.com", "juridica_insc_est": "up ins est 8", "juridica_ins_mun": "up insc mun 8", "juridica_razao_social": "up razão social 8", "juridica_representante": "up representante 8", "rc": [{"uuid": uuid_store_relacao_comercial["uuid_7"]}] }) assert response.status_code == 201 data = response.json() assert data["uuid"] == uuid_store_pessoa["uuid_10"] assert data["pessoa_status"] is False assert data["juridica_cnpj"] == "u0000000000008" assert data["pessoa_telefone"] == "uptelteste8" assert data["pessoa_celular"] == "upteste8" assert data["pessoa_email"] == "email_update8@email.com" assert data["pessoa_local_evento"] is True assert data["pessoa_tipo"] == "0" assert data["juridica_email_fiscal"] == "email_fiscal_update8@email.com" assert data["juridica_insc_est"] == "up ins est 8" assert data["juridica_ins_mun"] == "up insc mun 8" assert data["juridica_razao_social"] == "up razão social 8" assert data["juridica_representante"] == "up representante 8" assert data["rc"][0]["uuid"] == uuid_store_relacao_comercial["uuid_7"] assert len(data["rc"]) == 1 assert data["enderecos"] == [] @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_update_one_existing_item_juridica_2rc(client: AsyncClient, uuid_store_pessoa: dict, uuid_store_relacao_comercial: dict): response = await client.put(f"{BASE_URL}/update_one", json={"uuid": uuid_store_pessoa["uuid_10"], "pessoa_status": False, "juridica_cnpj": "u0000000000008", "pessoa_telefone": "uptelteste8", "pessoa_celular": "upteste8", "pessoa_email": "email_update8@email.com", "pessoa_local_evento": True, "pessoa_tipo": "0", "juridica_email_fiscal": "email_fiscal_update8@email.com", "juridica_insc_est": "up ins est 8", "juridica_ins_mun": "up insc mun 8", "juridica_razao_social": "up razão social 8", "juridica_representante": "up representante 8", "rc": [{"uuid": uuid_store_relacao_comercial["uuid_7"]}, {"uuid": uuid_store_relacao_comercial["uuid_6"]}] }) assert response.status_code == 201 data = response.json() assert data["uuid"] == uuid_store_pessoa["uuid_10"] assert data["pessoa_status"] is False assert data["juridica_cnpj"] == "u0000000000008" assert data["pessoa_telefone"] == "uptelteste8" assert data["pessoa_celular"] == "upteste8" assert data["pessoa_email"] == "email_update8@email.com" assert data["pessoa_local_evento"] is True assert data["pessoa_tipo"] == "0" assert data["juridica_email_fiscal"] == "email_fiscal_update8@email.com" assert data["juridica_insc_est"] == "up ins est 8" assert data["juridica_ins_mun"] == "up insc mun 8" assert data["juridica_razao_social"] == "up razão social 8" assert data["juridica_representante"] == "up representante 8" assert data["rc"][0]["uuid"] == uuid_store_relacao_comercial["uuid_6"] assert data["rc"][1]["uuid"] == uuid_store_relacao_comercial["uuid_7"] assert len(data["rc"]) == 2 assert data["enderecos"] == [] @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_update_one_existing_item_juridica_2rc_to_0rc(client: AsyncClient, uuid_store_pessoa: dict, uuid_store_relacao_comercial: dict): response = await client.put(f"{BASE_URL}/update_one", json={"uuid": uuid_store_pessoa["uuid_10"], "pessoa_status": False, "juridica_cnpj": "u0000000000008", "pessoa_telefone": "uptelteste8", "pessoa_celular": "upteste8", "pessoa_email": "email_update8@email.com", "pessoa_local_evento": True, "pessoa_tipo": "0", "juridica_email_fiscal": "email_fiscal_update8@email.com", "juridica_insc_est": "up ins est 8", "juridica_ins_mun": "up insc mun 8", "juridica_razao_social": "up razão social 8", "juridica_representante": "up representante 8"}) assert response.status_code == 201 data = response.json() assert data["uuid"] == uuid_store_pessoa["uuid_10"] assert data["pessoa_status"] is False assert data["juridica_cnpj"] == "u0000000000008" assert data["pessoa_telefone"] == "uptelteste8" assert data["pessoa_celular"] == "upteste8" assert data["pessoa_email"] == "email_update8@email.com" assert data["pessoa_local_evento"] is True assert data["pessoa_tipo"] == "0" assert data["juridica_email_fiscal"] == "email_fiscal_update8@email.com" assert data["juridica_insc_est"] == "up ins est 8" assert data["juridica_ins_mun"] == "up insc mun 8" assert data["juridica_razao_social"] == "up razão social 8" assert data["juridica_representante"] == "up representante 8" assert data["rc"] == [] assert data["enderecos"] == [] @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_update_one_existing_item_juridica_end(client: AsyncClient, uuid_store_pessoa: dict, uuid_store_relacao_comercial: dict, uuid_store_tipo_endereco: dict): response = await client.put(f"{BASE_URL}/update_one", json={"uuid": uuid_store_pessoa["uuid_10"], "pessoa_status": False, "juridica_cnpj": "u0000000000008", "pessoa_telefone": "uptelteste8", "pessoa_celular": "upteste8", "pessoa_email": "email_update8@email.com", "pessoa_local_evento": True, "pessoa_tipo": "0", "juridica_email_fiscal": "email_fiscal_update8@email.com", "juridica_insc_est": "up ins est 8", "juridica_ins_mun": "up insc mun 8", "juridica_razao_social": "up razão social 8", "juridica_representante": "up representante 8", "enderecos": [ {"endereco_pessoa_status": True, "endereco_pessoa_descricao": "descricao 7", "endereco_pessoa_numero": "numero 7", "endereco_pessoa_complemento": "complemento 7", "endereco_pessoa_cep": "00000000", "fk_tipo_endereco_uuid": uuid_store_tipo_endereco["uuid_6"]}] }) assert response.status_code == 201 data = response.json() assert data["uuid"] == uuid_store_pessoa["uuid_10"] assert data["pessoa_status"] is False assert data["juridica_cnpj"] == "u0000000000008" assert data["pessoa_telefone"] == "uptelteste8" assert data["pessoa_celular"] == "upteste8" assert data["pessoa_email"] == "email_update8@email.com" assert data["pessoa_local_evento"] is True assert data["pessoa_tipo"] == "0" assert data["juridica_email_fiscal"] == "email_fiscal_update8@email.com" assert data["juridica_insc_est"] == "up ins est 8" assert data["juridica_ins_mun"] == "up insc mun 8" assert data["juridica_razao_social"] == "up razão social 8" assert data["juridica_representante"] == "up representante 8" assert data["rc"] == [] assert data["enderecos"][0]["endereco_pessoa_status"] is True assert data["enderecos"][0]["endereco_pessoa_descricao"] == "descricao 7" assert data["enderecos"][0]["endereco_pessoa_numero"] == "numero 7" assert data["enderecos"][0]["endereco_pessoa_complemento"] == "complemento 7" assert data["enderecos"][0]["endereco_pessoa_cep"] == "00000000" assert data["enderecos"][0]["fk_tipo_endereco_uuid"] == uuid_store_tipo_endereco["uuid_6"] assert len(data["enderecos"]) == 1 @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_update_one_existing_item_juridica_end_to_0end(client: AsyncClient, uuid_store_pessoa: dict, uuid_store_relacao_comercial: dict, uuid_store_tipo_endereco: dict): response = await client.put(f"{BASE_URL}/update_one", json={"uuid": uuid_store_pessoa["uuid_10"], "pessoa_status": False, "juridica_cnpj": "u0000000000008", "pessoa_telefone": "uptelteste8", "pessoa_celular": "upteste8", "pessoa_email": "email_update8@email.com", "pessoa_local_evento": True, "pessoa_tipo": "0", "juridica_email_fiscal": "email_fiscal_update8@email.com", "juridica_insc_est": "up ins est 8", "juridica_ins_mun": "up insc mun 8", "juridica_razao_social": "up razão social 8", "juridica_representante": "up representante 8"}) # Voltando o uuid_10 para ficar sem Endereço para o próximo teste assert response.status_code == 201 data = response.json() assert data["uuid"] == uuid_store_pessoa["uuid_10"] assert data["pessoa_status"] is False assert data["juridica_cnpj"] == "u0000000000008" assert data["pessoa_telefone"] == "uptelteste8" assert data["pessoa_celular"] == "upteste8" assert data["pessoa_email"] == "email_update8@email.com" assert data["pessoa_local_evento"] is True assert data["pessoa_tipo"] == "0" assert data["juridica_email_fiscal"] == "email_fiscal_update8@email.com" assert data["juridica_insc_est"] == "up ins est 8" assert data["juridica_ins_mun"] == "up insc mun 8" assert data["juridica_razao_social"] == "up razão social 8" assert data["juridica_representante"] == "up representante 8" assert data["rc"] == [] assert data["enderecos"] == [] @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_update_one_existing_item_juridica_2end(client: AsyncClient, uuid_store_pessoa: dict, uuid_store_relacao_comercial: dict, uuid_store_tipo_endereco: dict): response = await client.put(f"{BASE_URL}/update_one", json={"uuid": uuid_store_pessoa["uuid_10"], "pessoa_status": False, "juridica_cnpj": "u0000000000008", "pessoa_telefone": "uptelteste8", "pessoa_celular": "upteste8", "pessoa_email": "email_update8@email.com", "pessoa_local_evento": True, "pessoa_tipo": "0", "juridica_email_fiscal": "email_fiscal_update8@email.com", "juridica_insc_est": "up ins est 8", "juridica_ins_mun": "up insc mun 8", "juridica_razao_social": "up razão social 8", "juridica_representante": "up representante 8", "enderecos": [ {"endereco_pessoa_status": True, "endereco_pessoa_descricao": "descricao 7", "endereco_pessoa_numero": "numero 7", "endereco_pessoa_complemento": "complemento 7", "endereco_pessoa_cep": "00000000", "fk_tipo_endereco_uuid": uuid_store_tipo_endereco["uuid_6"]}, {"endereco_pessoa_status": False, "endereco_pessoa_descricao": "descricao 8", "endereco_pessoa_numero": "numero 8", "endereco_pessoa_complemento": "complemento 8", "endereco_pessoa_cep": "00000000", "fk_tipo_endereco_uuid": uuid_store_tipo_endereco["uuid_7"]} ] }) assert response.status_code == 201 data = response.json() assert data["uuid"] == uuid_store_pessoa["uuid_10"] assert data["pessoa_status"] is False assert data["juridica_cnpj"] == "u0000000000008" assert data["pessoa_telefone"] == "uptelteste8" assert data["pessoa_celular"] == "upteste8" assert data["pessoa_email"] == "email_update8@email.com" assert data["pessoa_local_evento"] is True assert data["pessoa_tipo"] == "0" assert data["juridica_email_fiscal"] == "email_fiscal_update8@email.com" assert data["juridica_insc_est"] == "up ins est 8" assert data["juridica_ins_mun"] == "up insc mun 8" assert data["juridica_razao_social"] == "up razão social 8" assert data["juridica_representante"] == "up representante 8" assert data["rc"] == [] assert data["enderecos"][0]["endereco_pessoa_status"] is True assert data["enderecos"][0]["endereco_pessoa_descricao"] == "descricao 7" assert data["enderecos"][0]["endereco_pessoa_numero"] == "numero 7" assert data["enderecos"][0]["endereco_pessoa_complemento"] == "complemento 7" assert data["enderecos"][0]["endereco_pessoa_cep"] == "00000000" assert data["enderecos"][0]["fk_tipo_endereco_uuid"] == uuid_store_tipo_endereco["uuid_6"] assert data["enderecos"][1]["endereco_pessoa_status"] is False assert data["enderecos"][1]["endereco_pessoa_descricao"] == "descricao 8" assert data["enderecos"][1]["endereco_pessoa_numero"] == "numero 8" assert data["enderecos"][1]["endereco_pessoa_complemento"] == "complemento 8" assert data["enderecos"][1]["endereco_pessoa_cep"] == "00000000" assert data["enderecos"][1]["fk_tipo_endereco_uuid"] == uuid_store_tipo_endereco["uuid_7"] assert len(data["enderecos"]) == 2 assert data["rc"] == [] @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_delete_one_item(client: AsyncClient, uuid_store_pessoa: dict): response = await client.request( method="DELETE", url=f"{BASE_URL}/delete_one", json={"uuid": uuid_store_pessoa["uuid_3"]} ) assert response.status_code == 204 @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_delete_many_items(client: AsyncClient, uuid_store_pessoa: dict): uuids = [uuid_store_pessoa["uuid_4"], uuid_store_pessoa["uuid_5"]] response = await client.request( method="DELETE", url=f"{BASE_URL}/delete_many", json={"uuids": uuids} # Envia o corpo da solicitação como JSON ) assert response.status_code == 204 @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque", "pessoa"]) async def test_delete_one_non_existent_item(client: AsyncClient, uuid_store_pessoa: dict): # Tentando deletar novamente o primeiro item já deletado response = await client.request( method="DELETE", url=f"{BASE_URL}/delete_one", json={"uuid": uuid_store_pessoa["uuid_1"]} ) assert response.status_code == status.HTTP_404_NOT_FOUND @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_get_one_non_existent_item(client: AsyncClient, uuid_store_pessoa: dict): # Tentando buscar um item deletado response = await client.request( method="POST", url=f"{BASE_URL}/get_one", json={"uuid": uuid_store_pessoa["uuid_3"]} ) assert response.status_code == status.HTTP_404_NOT_FOUND @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque", "pessoa"]) async def test_delete_many_non_existent_item(client: AsyncClient, uuid_store_pessoa: dict): uuids = [uuid_store_pessoa["uuid_1"], uuid_store_pessoa["uuid_2"], ] response = await client.request( method="DELETE", url=f"{BASE_URL}/delete_many", json={"uuids": uuids} # Envia o corpo da solicitação como JSON ) assert response.status_code == status.HTTP_404_NOT_FOUND @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque", "pessoa"]) async def test_update_one_non_existing_item(client: AsyncClient, uuid_store_pessoa: dict): # Atualizando o segundo item response = await client.request( method="PUT", url=f"{BASE_URL}/update_one", json={"uuid": uuid_store_pessoa["uuid_1"], "pessoa_status": True, "fisica_cpf": "01234567890", "pessoa_telefone": "telteste1", "pessoa_celular": "celteste1", "pessoa_email": "email1@email.com", "pessoa_local_evento": True, "pessoa_tipo": "1", "fisica_rg": "rg teste 1", "fisica_genero": "M", "fisica_nome": "nome teste 1"} ) assert response.status_code == status.HTTP_404_NOT_FOUND # Teste com dados fora dos limites de tamanho @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_create_one_min_length_telefone(client: AsyncClient): # Telefone response = await client.post(f"{BASE_URL}/add_one", json={"pessoa_status": True, "fisica_cpf": "cpft1", "pessoa_telefone": "123456", "pessoa_celular": "celteste1", "pessoa_email": "email1@email.com", "pessoa_local_evento": True, "pessoa_tipo": "1", "fisica_rg": "rg teste 1", "fisica_genero": "M", "fisica_nome": "nome teste 1"}) assert response.status_code == 422 @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_create_one_min_length_celular(client: AsyncClient): # Celular response = await client.post(f"{BASE_URL}/add_one", json={"pessoa_status": True, "fisica_cpf": "cpft1", "pessoa_telefone": "telteste1", "pessoa_celular": "1234567", "pessoa_email": "email1@email.com", "pessoa_local_evento": True, "pessoa_tipo": "1", "fisica_rg": "rg teste 1", "fisica_genero": "M", "fisica_nome": "nome teste 1"}) assert response.status_code == 422 @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_create_one_min_length_email(client: AsyncClient): # Email response = await client.post(f"{BASE_URL}/add_one", json={"pessoa_status": True, "fisica_cpf": "cpft1", "pessoa_telefone": "telteste1", "pessoa_celular": "celteste1", "pessoa_email": "a@a.com", "pessoa_local_evento": True, "pessoa_tipo": "1", "fisica_rg": "rg teste 1", "fisica_genero": "M", "fisica_nome": "nome teste 1"}) assert response.status_code == 422 @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_create_one_min_length_tipo_pessoa(client: AsyncClient): # Tipo Pessoa Valor Inválido response = await client.post(f"{BASE_URL}/add_one", json={"pessoa_status": True, "fisica_cpf": "cpft1", "pessoa_telefone": "telteste1", "pessoa_celular": "celteste1", "pessoa_email": "email1@email.com", "pessoa_local_evento": True, "pessoa_tipo": "2", "fisica_rg": "rg teste 1", "fisica_genero": "M", "fisica_nome": "nome teste 1"}) assert response.status_code == 422 @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_create_one_min_length_rg(client: AsyncClient): # RG response = await client.post(f"{BASE_URL}/add_one", json={"pessoa_status": True, "fisica_cpf": "cpft1", "pessoa_telefone": "telteste1", "pessoa_celular": "celteste1", "pessoa_email": "email1@email.com", "pessoa_local_evento": True, "pessoa_tipo": "1", "fisica_rg": "1234", "fisica_genero": "M", "fisica_nome": "nome teste 1"}) assert response.status_code == 422 @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_create_one_min_length_genero(client: AsyncClient): # Gênero response = await client.post(f"{BASE_URL}/add_one", json={"pessoa_status": True, "fisica_cpf": "cpft1", "pessoa_telefone": "telteste1", "pessoa_celular": "celteste1", "pessoa_email": "email1@email.com", "pessoa_local_evento": True, "pessoa_tipo": "1", "fisica_rg": "rg teste 1", "fisica_genero": "A", "fisica_nome": "nome teste 1"}) assert response.status_code == 422 @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_create_one_min_length_nome(client: AsyncClient): # Nome response = await client.post(f"{BASE_URL}/add_one", json={"pessoa_status": True, "fisica_cpf": "cpft1", "pessoa_telefone": "telteste1", "pessoa_celular": "celteste1", "pessoa_email": "email1@email.com", "pessoa_local_evento": True, "pessoa_tipo": "1", "fisica_rg": "rg teste 1", "fisica_genero": "M", "fisica_nome": "aa"}) assert response.status_code == 422 @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_create_one_min_length_cpf(client: AsyncClient): # CPF response = await client.post(f"{BASE_URL}/add_one", json={"pessoa_status": True, "fisica_cpf": "0123456789", "pessoa_telefone": "telteste1", "pessoa_celular": "celteste1", "pessoa_email": "email1@email.com", "pessoa_local_evento": True, "pessoa_tipo": "1", "fisica_rg": "rg teste 1", "fisica_genero": "M", "fisica_nome": "nome teste 1"}) assert response.status_code == 422 @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_create_one_min_length_cnpj(client: AsyncClient): # CNPJ response = await client.post(f"{BASE_URL}/add_one", json={"pessoa_status": True, "juridica_cnpj": "0000000000000", "pessoa_telefone": "telteste5", "pessoa_celular": "celteste5", "pessoa_email": "email5@email.com", "pessoa_local_evento": True, "pessoa_tipo": "0", "juridica_email_fiscal": "email_fiscal5@email.com", "juridica_insc_est": "ins est 5", "juridica_ins_mun": "insc mun 5", "juridica_razao_social": "razão social 5", "juridica_representante": "representante 5"}) assert response.status_code == 422 @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_create_one_min_length_emial_fiscal(client: AsyncClient): # Email Fiscal response = await client.post(f"{BASE_URL}/add_one", json={"pessoa_status": True, "juridica_cnpj": "00000000000005", "pessoa_telefone": "telteste5", "pessoa_celular": "celteste5", "pessoa_email": "email5@email.com", "pessoa_local_evento": True, "pessoa_tipo": "0", "juridica_email_fiscal": "a@a.com", "juridica_insc_est": "ins est 5", "juridica_ins_mun": "insc mun 5", "juridica_razao_social": "razão social 5", "juridica_representante": "representante 5"}) assert response.status_code == 422 @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_create_one_min_length_insc_estadual(client: AsyncClient): # Inscrição Estadual response = await client.post(f"{BASE_URL}/add_one", json={"pessoa_status": True, "juridica_cnpj": "00000000000005", "pessoa_telefone": "telteste5", "pessoa_celular": "celteste5", "pessoa_email": "email5@email.com", "pessoa_local_evento": True, "pessoa_tipo": "0", "juridica_email_fiscal": "email_fiscal5@email.com", "juridica_insc_est": "1234", "juridica_ins_mun": "insc mun 5", "juridica_razao_social": "razão social 5", "juridica_representante": "representante 5"}) assert response.status_code == 422 @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_create_one_min_length_insc_municipal(client: AsyncClient): # Inscrição Municipal response = await client.post(f"{BASE_URL}/add_one", json={"pessoa_status": True, "juridica_cnpj": "00000000000005", "pessoa_telefone": "telteste5", "pessoa_celular": "celteste5", "pessoa_email": "email5@email.com", "pessoa_local_evento": True, "pessoa_tipo": "0", "juridica_email_fiscal": "email_fiscal5@email.com", "juridica_insc_est": "ins est 5", "juridica_ins_mun": "1234", "juridica_razao_social": "razão social 5", "juridica_representante": "representante 5"}) assert response.status_code == 422 @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_create_one_min_length_razao_social(client: AsyncClient): # Razão Social response = await client.post(f"{BASE_URL}/add_one", json={"pessoa_status": True, "juridica_cnpj": "00000000000005", "pessoa_telefone": "telteste5", "pessoa_celular": "celteste5", "pessoa_email": "email5@email.com", "pessoa_local_evento": True, "pessoa_tipo": "0", "juridica_email_fiscal": "email_fiscal5@email.com", "juridica_insc_est": "ins est 5", "juridica_ins_mun": "insc mun 5", "juridica_razao_social": "1234", "juridica_representante": "representante 5"}) assert response.status_code == 422 @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_create_one_min_length_representante(client: AsyncClient): # Representante response = await client.post(f"{BASE_URL}/add_one", json={"pessoa_status": True, "juridica_cnpj": "00000000000005", "pessoa_telefone": "telteste5", "pessoa_celular": "celteste5", "pessoa_email": "email5@email.com", "pessoa_local_evento": True, "pessoa_tipo": "0", "juridica_email_fiscal": "email_fiscal5@email.com", "juridica_insc_est": "ins est 5", "juridica_ins_mun": "insc mun 5", "juridica_razao_social": "razão social 5", "juridica_representante": "12"}) assert response.status_code == 422 @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_create_one_max_length_telefone(client: AsyncClient): # Telefone response = await client.post(f"{BASE_URL}/add_one", json={"pessoa_status": True, "fisica_cpf": "cpft1", "pessoa_telefone": "012345678901234567890", "pessoa_celular": "celteste1", "pessoa_email": "email1@email.com", "pessoa_local_evento": True, "pessoa_tipo": "1", "fisica_rg": "rg teste 1", "fisica_genero": "M", "fisica_nome": "nome teste 1"}) assert response.status_code == 422 @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_create_one_max_length_celular(client: AsyncClient): # Celular response = await client.post(f"{BASE_URL}/add_one", json={"pessoa_status": True, "fisica_cpf": "cpft1", "pessoa_telefone": "telteste1", "pessoa_celular": "012345678901234567890", "pessoa_email": "email1@email.com", "pessoa_local_evento": True, "pessoa_tipo": "1", "fisica_rg": "rg teste 1", "fisica_genero": "M", "fisica_nome": "nome teste 1"}) assert response.status_code == 422 @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_create_one_max_length_email(client: AsyncClient): # Email - response = await client.post(f"{BASE_URL}/add_one", json={"pessoa_status": True, "fisica_cpf": "cpft1", "pessoa_telefone": "telteste1", "pessoa_celular": "celteste1", "pessoa_email": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@a.com", "pessoa_local_evento": True, "pessoa_tipo": "1", "fisica_rg": "rg teste 1", "fisica_genero": "M", "fisica_nome": "nome teste 1"}) assert response.status_code == 422 @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_create_one_max_length_rg(client: AsyncClient): # RG response = await client.post(f"{BASE_URL}/add_one", json={"pessoa_status": True, "fisica_cpf": "cpft1", "pessoa_telefone": "telteste1", "pessoa_celular": "celteste1", "pessoa_email": "email1@email.com", "pessoa_local_evento": True, "pessoa_tipo": "1", "fisica_rg": "012345678901234567890", "fisica_genero": "M", "fisica_nome": "nome teste 1"}) assert response.status_code == 422 @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_create_one_max_length_nome(client: AsyncClient): # Nome response = await client.post(f"{BASE_URL}/add_one", json={"pessoa_status": True, "fisica_cpf": "cpft1", "pessoa_telefone": "telteste1", "pessoa_celular": "celteste1", "pessoa_email": "email1@email.com", "pessoa_local_evento": True, "pessoa_tipo": "1", "fisica_rg": "rg teste 1", "fisica_genero": "M", "fisica_nome": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}) assert response.status_code == 422 @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_create_one_max_length_cpf(client: AsyncClient): # CPF response = await client.post(f"{BASE_URL}/add_one", json={"pessoa_status": True, "fisica_cpf": "012345678901", "pessoa_telefone": "telteste1", "pessoa_celular": "celteste1", "pessoa_email": "email1@email.com", "pessoa_local_evento": True, "pessoa_tipo": "1", "fisica_rg": "rg teste 1", "fisica_genero": "M", "fisica_nome": "nome teste 1"}) assert response.status_code == 422 @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_create_one_max_length_cnpj(client: AsyncClient): # CNPJ response = await client.post(f"{BASE_URL}/add_one", json={"pessoa_status": True, "juridica_cnpj": "012345678901234", "pessoa_telefone": "telteste5", "pessoa_celular": "celteste5", "pessoa_email": "email5@email.com", "pessoa_local_evento": True, "pessoa_tipo": "0", "juridica_email_fiscal": "email_fiscal5@email.com", "juridica_insc_est": "ins est 5", "juridica_ins_mun": "insc mun 5", "juridica_razao_social": "razão social 5", "juridica_representante": "representante 5"}) assert response.status_code == 422 @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_create_one_max_length_emial_fiscal(client: AsyncClient): # Email Fiscal response = await client.post(f"{BASE_URL}/add_one", json={"pessoa_status": True, "juridica_cnpj": "00000000000005", "pessoa_telefone": "telteste5", "pessoa_celular": "celteste5", "pessoa_email": "123456", "pessoa_local_evento": True, "pessoa_tipo": "0", "juridica_email_fiscal": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@email.com", "juridica_insc_est": "ins est 5", "juridica_ins_mun": "insc mun 5", "juridica_razao_social": "razão social 5", "juridica_representante": "representante 5"}) assert response.status_code == 422 @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_create_one_max_length_insc_estadual(client: AsyncClient): # Inscrição Estadual response = await client.post(f"{BASE_URL}/add_one", json={"pessoa_status": True, "juridica_cnpj": "00000000000005", "pessoa_telefone": "telteste5", "pessoa_celular": "celteste5", "pessoa_email": "email5@email.com", "pessoa_local_evento": True, "pessoa_tipo": "0", "juridica_email_fiscal": "email_fiscal5@email.com", "juridica_insc_est": "012345678901234567890123456789012345678901234567890", "juridica_ins_mun": "insc mun 5", "juridica_razao_social": "razão social 5", "juridica_representante": "representante 5"}) assert response.status_code == 422 @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_create_one_max_length_insc_municipal(client: AsyncClient): # Inscrição Municipal response = await client.post(f"{BASE_URL}/add_one", json={"pessoa_status": True, "juridica_cnpj": "00000000000005", "pessoa_telefone": "telteste5", "pessoa_celular": "celteste5", "pessoa_email": "email5@email.com", "pessoa_local_evento": True, "pessoa_tipo": "0", "juridica_email_fiscal": "email_fiscal5@email.com", "juridica_insc_est": "ins est 5", "juridica_ins_mun": "012345678901234567890123456789012345678901234567890", "juridica_razao_social": "razão social 5", "juridica_representante": "representante 5"}) assert response.status_code == 422 @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_create_one_max_length_razao_social(client: AsyncClient): # Razão Social response = await client.post(f"{BASE_URL}/add_one", json={"pessoa_status": True, "juridica_cnpj": "00000000000005", "pessoa_telefone": "telteste5", "pessoa_celular": "celteste5", "pessoa_email": "email5@email.com", "pessoa_local_evento": True, "pessoa_tipo": "0", "juridica_email_fiscal": "email_fiscal5@email.com", "juridica_insc_est": "ins est 5", "juridica_ins_mun": "insc mun 5", "juridica_razao_social": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "juridica_representante": "representante 5"}) assert response.status_code == 422 @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_create_one_min_length_representante(client: AsyncClient): # Representante response = await client.post(f"{BASE_URL}/add_one", json={"pessoa_status": True, "juridica_cnpj": "00000000000005", "pessoa_telefone": "telteste5", "pessoa_celular": "celteste5", "pessoa_email": "email5@email.com", "pessoa_local_evento": True, "pessoa_tipo": "0", "juridica_email_fiscal": "email_fiscal5@email.com", "juridica_insc_est": "ins est 5", "juridica_ins_mun": "insc mun 5", "juridica_razao_social": "razão social 5", "juridica_representante": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}) assert response.status_code == 422 @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_update_one_existing_item_min_lenght(client: AsyncClient, uuid_store_pessoa: dict, uuid_store_relacao_comercial: dict, uuid_store_tipo_endereco: dict): response = await client.put(f"{BASE_URL}/update_one", json={"uuid": uuid_store_pessoa["uuid_10"], "pessoa_status": False, "juridica_cnpj": "0123456789012", "pessoa_telefone": "uptelteste8", "pessoa_celular": "upteste8", "pessoa_email": "email_update8@email.com", "pessoa_local_evento": True, "pessoa_tipo": "0", "juridica_email_fiscal": "email_fiscal_update8@email.com", "juridica_insc_est": "up ins est 8", "juridica_ins_mun": "up insc mun 8", "juridica_razao_social": "up razão social 8", "juridica_representante": "up representante 8", "enderecos": [ {"endereco_pessoa_status": True, "endereco_pessoa_descricao": "descricao 7", "endereco_pessoa_numero": "numero 7", "endereco_pessoa_complemento": "complemento 7", "endereco_pessoa_cep": "00000000", "fk_tipo_endereco_uuid": uuid_store_tipo_endereco["uuid_6"]}, {"endereco_pessoa_status": False, "endereco_pessoa_descricao": "descricao 8", "endereco_pessoa_numero": "numero 8", "endereco_pessoa_complemento": "complemento 8", "endereco_pessoa_cep": "00000000", "fk_tipo_endereco_uuid": uuid_store_tipo_endereco["uuid_7"]} ] }) assert response.status_code == 422 @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_update_one_existing_item_max_lenght(client: AsyncClient, uuid_store_pessoa: dict, uuid_store_relacao_comercial: dict, uuid_store_tipo_endereco: dict): response = await client.put(f"{BASE_URL}/update_one", json={"uuid": uuid_store_pessoa["uuid_10"], "pessoa_status": False, "juridica_cnpj": "012345678901234", "pessoa_telefone": "uptelteste8", "pessoa_celular": "upteste8", "pessoa_email": "email_update8@email.com", "pessoa_local_evento": True, "pessoa_tipo": "0", "juridica_email_fiscal": "email_fiscal_update8@email.com", "juridica_insc_est": "up ins est 8", "juridica_ins_mun": "up insc mun 8", "juridica_razao_social": "up razão social 8", "juridica_representante": "up representante 8", "enderecos": [ {"endereco_pessoa_status": True, "endereco_pessoa_descricao": "descricao 7", "endereco_pessoa_numero": "numero 7", "endereco_pessoa_complemento": "complemento 7", "endereco_pessoa_cep": "00000000", "fk_tipo_endereco_uuid": uuid_store_tipo_endereco["uuid_6"]}, {"endereco_pessoa_status": False, "endereco_pessoa_descricao": "descricao 8", "endereco_pessoa_numero": "numero 8", "endereco_pessoa_complemento": "complemento 8", "endereco_pessoa_cep": "00000000", "fk_tipo_endereco_uuid": uuid_store_tipo_endereco["uuid_7"]} ] }) assert response.status_code == 422 @pytest.mark.anyio @pytest.mark.usuarios_permitidos(["admin", "estoque"]) async def test_update_one_existing_item_max_and_min_lenght(client: AsyncClient, uuid_store_pessoa: dict, uuid_store_relacao_comercial: dict, uuid_store_tipo_endereco: dict): response = await client.put(f"{BASE_URL}/update_one", json={"uuid": uuid_store_pessoa["uuid_10"], "pessoa_status": False, "juridica_cnpj": "012345678901234", "pessoa_telefone": "uptelteste8", "pessoa_celular": "upteste8", "pessoa_email": "8@e.com", "pessoa_local_evento": True, "pessoa_tipo": "0", "juridica_email_fiscal": "email_fiscal_update8@email.com", "juridica_insc_est": "up ins est 8", "juridica_ins_mun": "up insc mun 8", "juridica_razao_social": "up razão social 8", "juridica_representante": "up representante 8", "enderecos": [ {"endereco_pessoa_status": True, "endereco_pessoa_descricao": "descricao 7", "endereco_pessoa_numero": "numero 7", "endereco_pessoa_complemento": "complemento 7", "endereco_pessoa_cep": "00000000", "fk_tipo_endereco_uuid": uuid_store_tipo_endereco["uuid_6"]}, {"endereco_pessoa_status": False, "endereco_pessoa_descricao": "descricao 8", "endereco_pessoa_numero": "numero 8", "endereco_pessoa_complemento": "complemento 8", "endereco_pessoa_cep": "00000000", "fk_tipo_endereco_uuid": uuid_store_tipo_endereco["uuid_7"]} ] }) assert response.status_code == 422