test-blueprint
Generate an app from one of the Jinks/TEI Publisher blueprints and run its test suite.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Generate an app from one of the Jinks/TEI Publisher blueprints and run its test suite.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | test-blueprint |
| description | Generate an app from one of the Jinks/TEI Publisher blueprints and run its test suite. |
Config files for testable apps are located in demo/*.json.
Given a config file (e.g. demo/ser_config.json), determine the app abbreviation from pkg.abbrev in that JSON file (e.g. tp-serafin). Then:
Remove old application:
xst package remove <abbrev>
Create the app on the server:
jinks create -c <config>
Download the app as a xar archive:
jinks run <abbrev> download -o <tempdir>
This saves <abbrev>.xar into <tempdir> (for example /tmp/<abbrev>.xar when -o /tmp is used).
Unpack the xar into a temporary directory:
TMPDIR=$(mktemp -d /tmp/<abbrev>-XXXXXX)
unzip -q <tempdir>/<abbrev>.xar -d "$TMPDIR"
Install dependencies and run tests:
cd "$TMPDIR"
npm install
npx cypress run --browser chrome
Report the Cypress test results (passing, failing, pending, skipped counts).
For reproducibility, prefer a single command chain from the repository root:
ABBREV=<abbrev> && CONFIG=<config-path> && xst package remove "$ABBREV" && jinks create -c "$CONFIG" && jinks run "$ABBREV" download -o /tmp && TMPDIR=$(mktemp -d "/tmp/${ABBREV}-chrome-full-XXXXXX") && unzip -q "/tmp/${ABBREV}.xar" -d "$TMPDIR" && cd "$TMPDIR" && npm install && npx cypress run --browser chrome
http://localhost:8080 before running these steps.-o (commonly /tmp); the unpacked temp directory is left in /tmp.--browser chrome for consistency with current project expectations.If server is not reachable, then verify and retry:
curl -I http://localhost:8080/exist/ || echo "eXist-db is not reachable"
If unreachable, start/restart eXist-db, then rerun the one-shot command chain.
If uninstall fails because app is missing, then continue:
xst package remove <abbrev> || true
Missing app is acceptable; proceed to jinks create -c <config>.
If archive is not found, then validate the output directory:
jinks run <abbrev> download -o /tmp && ls -l /tmp/<abbrev>.xar
Always unzip from the explicit output path: /tmp/<abbrev>.xar (or your chosen -o directory).
If Chrome is not detected by Cypress, then inspect browser discovery:
npx cypress info
Confirm Chrome appears in detected browsers before rerunning npx cypress run --browser chrome.
If run is flaky or interrupted, then force a clean rerun:
ABBREV=<abbrev> && CONFIG=<config-path> && xst package remove "$ABBREV" || true && jinks create -c "$CONFIG" && jinks run "$ABBREV" download -o /tmp && TMPDIR=$(mktemp -d "/tmp/${ABBREV}-chrome-full-XXXXXX") && unzip -q "/tmp/${ABBREV}.xar" -d "$TMPDIR" && cd "$TMPDIR" && npm install && npx cypress run --browser chrome