\Tests\FeatureBatch3FixesTest

测试基座(抽象基类)

被测对象:无(公共测试设施) 守护约定:Redis 直连用例在无 Redis 环境(如 CI)跳过而非失败(TEST_REQUIRE_REDIS=1 可强制失败); 缓存注册表最小 schema 供 sqlite :memory: 下凡走注册表的用例自建。

Summary

Methods
Properties
Constants
test_update_rejects_content_subject_vars()
test_update_rejects_type_engine_code()
test_update_allows_archive_fields()
test_tree_include_disabled_returns_disabled_items()
No public properties found
No constants found
requestErrors()
requireRedis()
buildCacheRegistry()
setUp()
No protected properties found
N/A
updateErrors()
No private properties found
N/A

Methods

test_update_rejects_content_subject_vars()

test_update_rejects_content_subject_vars() : void

验证模板 update 禁改 content/subject/vars(发布流程是唯一改线上内容入口)。

test_update_rejects_type_engine_code()

test_update_rejects_type_engine_code() : void

验证模板 update 禁改 type/engine/code(破坏 (type,code) 唯一与渲染契约)。

test_update_allows_archive_fields()

test_update_allows_archive_fields() : void

验证模板档案字段(name/category/sort/status/remark)更新照常放行。

test_tree_include_disabled_returns_disabled_items()

test_tree_include_disabled_returns_disabled_items() : void

验证树形字典 include_disabled 返回停用项(管理端可见可重新启用)。

requestErrors()

requestErrors(\Illuminate\Foundation\Http\FormRequest  $request, string|null  $uri = null, string|null  $controller = null) : array<string,string[]>

独立校验 FormRequest 并返回错误集。

Parameters

\Illuminate\Foundation\Http\FormRequest $request
string|null $uri

路由模板(如 'templates/{id}');Request 的 withValidator 依赖 route 上下文时必传,否则可省略

string|null $controller

控制器@方法 串(路由绑定用,仅与 $uri 搭配)

Returns

array

校验错误集(通过时为空数组)

requireRedis()

requireRedis() : void

Redis 依赖探针:直连 Redis 的测试(限流/会话/验证码)在无 Redis 环境(如 CI) 跳过而非失败——其余用例不受影响。CI 可设 TEST_REQUIRE_REDIS=1 强制模式: Redis 不可达即失败而非跳过,安全回归套件不允许静默消失。

buildCacheRegistry()

buildCacheRegistry(array  $items) : void

建缓存注册表最小 schema(td_sys_cache)并灌入注册项。

测试跑 sqlite :memory:,生产迁移含 PostgreSQL 专属 DDL 跑不通(DataScopeServiceTest 同因自建 schema); 而 CacheManager::registry() 现已从数据库表读取——凡走注册表的测试(remember/get/key/失效推导) 必须在 setUp 先调用本方法,否则注册表为空、remember 未登记名会走「自动登记」路径。

Parameters

array $items

setUp()

setUp() : void

updateErrors()

updateErrors(array  $payload) : array<string,string[]>

构造绑定到 update 路由的 Request 并返回校验错误集。

Parameters

array $payload

Returns

array