mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-04-30 16:54:57 +00:00
211 lines
4.3 KiB
JSON
211 lines
4.3 KiB
JSON
{
|
|
"create": [
|
|
{
|
|
"desc": "Creates empty table",
|
|
"name": "users",
|
|
"fields": null,
|
|
"expected_fields_count": 0
|
|
},
|
|
{
|
|
"desc": "Creates table with single field",
|
|
"name": "posts",
|
|
"fields": [
|
|
{
|
|
"name": "id",
|
|
"type": "integer"
|
|
}
|
|
],
|
|
"expected_fields_count": 1
|
|
},
|
|
{
|
|
"desc": "Creates table with multiple fields",
|
|
"name": "products",
|
|
"fields": [
|
|
{
|
|
"name": "id",
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"name": "name",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "price",
|
|
"type": "float"
|
|
},
|
|
{
|
|
"name": "in_stock",
|
|
"type": "boolean"
|
|
}
|
|
],
|
|
"expected_fields_count": 4
|
|
},
|
|
{
|
|
"desc": "Creates table with complex fields",
|
|
"name": "orders",
|
|
"fields": [
|
|
{
|
|
"name": "id",
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"name": "user_id",
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"name": "created_at",
|
|
"type": "datetime"
|
|
},
|
|
{
|
|
"name": "total",
|
|
"type": "float"
|
|
},
|
|
{
|
|
"name": "metadata",
|
|
"type": "json"
|
|
}
|
|
],
|
|
"expected_fields_count": 5
|
|
}
|
|
],
|
|
"render": [
|
|
{
|
|
"desc": "Renders table with no fields",
|
|
"input": {
|
|
"name": "categories",
|
|
"fields": []
|
|
},
|
|
"expected_name": "categories",
|
|
"expected_fields_count": 0
|
|
},
|
|
{
|
|
"desc": "Renders user table",
|
|
"input": {
|
|
"name": "users",
|
|
"fields": [
|
|
{
|
|
"name": "id",
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"name": "username",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "email",
|
|
"type": "string"
|
|
}
|
|
]
|
|
},
|
|
"expected_name": "users",
|
|
"expected_fields_count": 3
|
|
},
|
|
{
|
|
"desc": "Renders complex table",
|
|
"input": {
|
|
"name": "articles",
|
|
"fields": [
|
|
{
|
|
"name": "id",
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"name": "title",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "content",
|
|
"type": "text"
|
|
},
|
|
{
|
|
"name": "author_id",
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"name": "published_at",
|
|
"type": "datetime"
|
|
},
|
|
{
|
|
"name": "is_draft",
|
|
"type": "boolean"
|
|
}
|
|
]
|
|
},
|
|
"expected_name": "articles",
|
|
"expected_fields_count": 6
|
|
}
|
|
],
|
|
"add_field": [
|
|
{
|
|
"desc": "Adds string field",
|
|
"table_name": "users",
|
|
"field": {
|
|
"name": "nickname",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"desc": "Adds integer field",
|
|
"table_name": "products",
|
|
"field": {
|
|
"name": "stock_count",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"desc": "Adds boolean field",
|
|
"table_name": "posts",
|
|
"field": {
|
|
"name": "is_published",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"desc": "Adds datetime field",
|
|
"table_name": "users",
|
|
"field": {
|
|
"name": "last_login",
|
|
"type": "datetime"
|
|
}
|
|
},
|
|
{
|
|
"desc": "Adds text field",
|
|
"table_name": "comments",
|
|
"field": {
|
|
"name": "content",
|
|
"type": "text"
|
|
}
|
|
},
|
|
{
|
|
"desc": "Adds JSON field",
|
|
"table_name": "settings",
|
|
"field": {
|
|
"name": "preferences",
|
|
"type": "json"
|
|
}
|
|
}
|
|
],
|
|
"remove_field": [
|
|
{
|
|
"desc": "Removes field from users table",
|
|
"table_name": "users",
|
|
"field_name": "nickname"
|
|
},
|
|
{
|
|
"desc": "Removes field from posts table",
|
|
"table_name": "posts",
|
|
"field_name": "draft"
|
|
},
|
|
{
|
|
"desc": "Removes deprecated field",
|
|
"table_name": "products",
|
|
"field_name": "old_price"
|
|
},
|
|
{
|
|
"desc": "Removes temporary field",
|
|
"table_name": "orders",
|
|
"field_name": "temp_data"
|
|
}
|
|
]
|
|
}
|