Added some basic field CRUD tests

This commit is contained in:
Donkie
2024-01-06 17:16:30 +01:00
parent 06e3849862
commit 86e126f775
6 changed files with 411 additions and 8 deletions

View File

@@ -0,0 +1,60 @@
"""Integration tests for the custom extra fields system."""
import json
import httpx
from ..conftest import assert_httpx_success, assert_lists_compatible
URL = "http://spoolman:8000"
def test_get_field():
"""Test adding a couple of fields to the spool and then getting them."""
result = httpx.post(
f"{URL}/api/v1/field/spool/mytextfield",
json={
"name": "My text field",
"field_type": "text",
"default_value": json.dumps("Hello World"),
},
)
assert_httpx_success(result)
result = httpx.post(
f"{URL}/api/v1/field/spool/myintfield",
json={
"name": "My int field",
"field_type": "integer",
"default_value": json.dumps(42),
},
)
assert_httpx_success(result)
result = httpx.get(f"{URL}/api/v1/field/spool")
assert_httpx_success(result)
assert_lists_compatible(
result.json(),
[
{
"name": "My text field",
"key": "mytextfield",
"field_type": "text",
"default_value": json.dumps("Hello World"),
},
{
"name": "My int field",
"key": "myintfield",
"field_type": "integer",
"default_value": json.dumps(42),
},
],
sort_key="key",
)
# Clean up
result = httpx.delete(f"{URL}/api/v1/field/spool/mytextfield")
assert_httpx_success(result)
result = httpx.delete(f"{URL}/api/v1/field/spool/myintfield")
assert_httpx_success(result)