testeiya 0.4.2 → 0.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/README.md +83 -10
  2. package/dist/prompt/comment-thread.js +96 -0
  3. package/dist/prompt/comment-thread.js.map +1 -0
  4. package/dist/prompt/context.js +9 -1
  5. package/dist/prompt/context.js.map +1 -1
  6. package/dist/prompt/system-prompt.js +2 -2
  7. package/dist/src/args.js +24 -0
  8. package/dist/src/args.js.map +1 -1
  9. package/dist/src/checkpoint.js +19 -11
  10. package/dist/src/checkpoint.js.map +1 -1
  11. package/dist/src/cli.js +1 -0
  12. package/dist/src/cli.js.map +1 -1
  13. package/dist/src/output.js +30 -8
  14. package/dist/src/output.js.map +1 -1
  15. package/dist/src/run.js +36 -12
  16. package/dist/src/run.js.map +1 -1
  17. package/dist/src/session.js +1 -0
  18. package/dist/src/session.js.map +1 -1
  19. package/package.json +1 -1
  20. package/prompt/comment-thread.ts +126 -0
  21. package/prompt/context.ts +8 -1
  22. package/prompt/system-prompt.ts +2 -2
  23. package/skills/skills.lock.json +5 -2
  24. package/skills/testomatio/qa-process/testing-workflow/SKILL.md +3 -0
  25. package/skills/testomatio/{test-management → requirements}/qa-thinking/SKILL.md +1 -0
  26. package/skills/testomatio/requirements/write-user-story/SKILL.md +45 -0
  27. package/skills/testomatio/test-automation/epic-requirements-specification/SKILL.md +66 -0
  28. package/skills/testomatio/test-management/migrate-to-testomatio/SKILL.md +52 -0
  29. package/skills/testomatio/test-management/migrate-to-testomatio/references/CSV_MIGRATION.md +72 -0
  30. package/skills/testomatio/test-management/migrate-to-testomatio/references/CUSTOM_MIGRATION.md +11 -0
  31. package/skills/testomatio/test-management/migrate-to-testomatio/references/TESTRAIL_MIGRATION.md +87 -0
  32. package/skills/testomatio/test-management/migrate-to-testomatio/references/XRAY_MIGRATION.md +56 -0
  33. /package/skills/testomatio/{test-management → requirements}/pull-request-diff-analyzer/SKILL.md +0 -0
  34. /package/skills/testomatio/{qa-process → requirements}/qa-explain-behavior/SKILL.md +0 -0
  35. /package/skills/testomatio/{qa-process → requirements}/qa-explain-behavior/references/answer-shapes.md +0 -0
  36. /package/skills/testomatio/{qa-process → requirements}/qa-explain-behavior/references/examples.md +0 -0
  37. /package/skills/testomatio/{test-management → requirements}/qa-pr-requirements-analyzer/SKILL.md +0 -0
  38. /package/skills/testomatio/{test-management → requirements}/qa-pr-requirements-analyzer/references/summary-example.md +0 -0
  39. /package/skills/testomatio/{test-management → requirements}/qa-requirement-reviewer/SKILL.md +0 -0
  40. /package/skills/testomatio/{test-management → requirements}/qa-requirement-reviewer/references/requirements_reviewer_examples.md +0 -0
@@ -0,0 +1,72 @@
1
+ # CSV Migration (Testmo, QMetry, TestCaseLabs, Allure, Others)
2
+
3
+ Two paths: converter script (normalizes export to Testomat.io CSV), or direct UI import.
4
+
5
+ Docs: https://docs.testomat.io/project/import-export/import/import-tests-from-csv-xlsx
6
+
7
+ ## UI Import (All Sources)
8
+
9
+ - Open project > Tests tab > (`...`) > Import from other TMS > Import > Import from CSV.
10
+ - Sidebar: pick the tool the file came from (Qase, QTest, Zephyr, TestRail, XRay, Testmo, QMetry, Allure TestOps, TestCaseLabs, Testomatio) > Choose file > Create.
11
+ - Same flow works for BDD projects; rows map Precondition > Given, Step > When, Expected Result > Then.
12
+ - Converted files always import with format `Testomatio`.
13
+
14
+ ## Converter Scripts
15
+
16
+ - Requires NodeJS 18+, each produces `*_Testomatio.csv`.
17
+ - Clone outside the project repo, one per source:
18
+
19
+ ```bash
20
+ git clone https://github.com/testomatio/migrate-testmo.git <temp-dir>/migrate-testmo
21
+ git clone https://github.com/testomatio/migrate-qmetry.git <temp-dir>/migrate-qmetry
22
+ git clone https://github.com/testomatio/migrate-testcaselabs.git <temp-dir>/migrate-testcaselabs
23
+ git clone https://github.com/testomatio/migrate-allure.git <temp-dir>/migrate-allure
24
+ ```
25
+
26
+ - Run inside the cloned repo:
27
+
28
+ ```bash
29
+ npm install
30
+ node convert.js <path-to-export-csv>
31
+ ```
32
+
33
+ - Example: `node convert.js TestCases.csv` produces `TestCases_Testomatio.csv`.
34
+ - Allure output is `allure_Testomatio.csv`; maps Feature/Epic/Story to Folder hierarchy, `automated` flag to Status, `jira-*` columns to Issues.
35
+ - No options to invent; script takes only the input file path.
36
+ - Edit `convert.js` in the cloned repo to adjust column mapping.
37
+
38
+ ## Sources Without Converter
39
+
40
+ - Qase, QTest, Zephyr: export CSV/XLSX from the source tool, import directly with matching format dropdown.
41
+ - Qase walkthrough: https://docs.testomat.io/tutorials/migration-from-qase
42
+
43
+ ## Custom Testomat.io XLSX
44
+
45
+ - Build a file with these columns (ID left empty): ID, Title, Status, Folder, Emoji, Priority, Tags, Owner, Description, Labels, Issues.
46
+ - `Folder` nesting: `/suite/sub-suite`.
47
+ - `Priority`: normal, important, high, critical, low.
48
+ - `Status`: manual or automated, blank allowed.
49
+ - `Description` supports Markdown.
50
+ - `Issues`: Jira keys (`ABC-123`), comma-separated.
51
+ - Example file: https://testomatiofiles.ams3.cdn.digitaloceanspaces.com/Testomat_example.xlsx
52
+
53
+ ## ID Compatibility
54
+
55
+ - Testomat.io public IDs are 8 alphanumeric chars, case-insensitive.
56
+ - Keep old IDs recognizable: zero-pad the numeric part to 8 chars (`TC-1` becomes `tc000001`).
57
+ - Put the mapped ID in the `ID` column of the Testomat.io CSV.
58
+
59
+ ## Suites and Tests
60
+
61
+ - A source suite holding both suites and tests must be split: suite-folder holds only suites, suite-file holds only tests (they differ by `file_type`).
62
+ - Every test needs a suite: always fill the `Folder` column, using `/` nesting (`/suite/sub-suite`).
63
+
64
+ ## Descriptions and Images
65
+
66
+ - Descriptions are pure Markdown; format steps per [test-case-format.md](../qa-write-test-cases/references/test-case-format.md).
67
+ - Images inside test cases are not carried by CSV: upload them via Testomat.io API, or switch to the API script path.
68
+
69
+ ## Recovery
70
+
71
+ - Import fails: first row must hold column names.
72
+ - Wrong suites: check `Folder` column uses `/` nesting.
@@ -0,0 +1,11 @@
1
+ # Custom Migration (Unsupported or Broken TMS)
2
+
3
+ When no converter or script fits the source, build one. Two options, cheapest first.
4
+
5
+ - CSV-to-Testomat.io converter: Node script reading the source export, writing Testomat.io CSV columns (see [CSV_MIGRATION.md](./CSV_MIGRATION.md) for column spec, ID padding, and suite splitting).
6
+ - API v2 migration script: pushes cases directly, required when attachments or run results must migrate.
7
+ - API reference: https://app.testomat.io/docs/openapi
8
+ - Base new API scripts on https://github.com/testomatio/migrate-testrail; for Jira-backed sources also use https://github.com/testomatio/migrate-xray.
9
+ - Map unmigrated user fields to Labels/Tags rather than dropping them; extend the script when the user flags an important field.
10
+ - Keep ID compatibility, suite-file vs suite-folder split, Markdown descriptions, and image uploads per [CSV_MIGRATION.md](./CSV_MIGRATION.md).
11
+ - Upload run results only after test cases are uploaded.
@@ -0,0 +1,87 @@
1
+ # TestRail Migration
2
+
3
+ Three import methods. Pick by test count and attachment need.
4
+
5
+ - CSV file: simple import, no attachments.
6
+ - Built-in UI tool (TestRail API option): up to 1000 tests, no attachments.
7
+ - Migration script: over 1000 tests, attachments, test runs with results.
8
+
9
+ Docs: https://docs.testomat.io/project/import-export/import/import-tests-from-testrail
10
+
11
+ ## UI Import
12
+
13
+ - Open project > Tests tab > (`...`) > Import from other TMS > Import > Import From TestRail.
14
+ - CSV option: Import > Import from CSV > dropdown `TestRail` > Choose file > Create.
15
+ - API option: enable API in TestRail (Administration > Site Settings > API toggle), enter TestRail credentials in Testomat.io Imports tab > Import Tests.
16
+ - Sample export for comparison: https://testomatio-artifacts.ams3.cdn.digitaloceanspaces.com/documentation/TestRail.csv
17
+
18
+ ## Migration Script
19
+
20
+ Repo: https://github.com/testomatio/migrate-testrail
21
+
22
+ - Requires NodeJS 20+.
23
+ - Clone outside the project repo:
24
+
25
+ ```bash
26
+ git clone https://github.com/testomatio/migrate-testrail.git <temp-dir>/migrate-testrail
27
+ cp .env.example .env
28
+ npm i
29
+ npm start
30
+ ```
31
+
32
+ - `.env` vars:
33
+
34
+ ```env
35
+ TESTRAIL_URL=
36
+ TESTRAIL_USERNAME=
37
+ TESTRAIL_PASSWORD=
38
+ TESTRAIL_PROJECT_ID=
39
+ # TESTRAIL_SUITE_ID= # optional, single suite only
40
+ TESTOMATIO_TOKEN=testomat_****
41
+ TESTOMATIO_PROJECT=
42
+ # TESTOMATIO_HOST=https://app.testomat.io # custom instance only
43
+ # DRY_RUN=1 # dry run, no import
44
+ ```
45
+
46
+ - `TESTOMATIO_PROJECT` is the URL slug: `https://app.testomat.io/projects/<slug>`.
47
+ - `TESTOMATIO_TOKEN` is a General Token from https://app.testomat.io/account/access_tokens.
48
+ - Debug flags: `DEBUG="testomatio:testrail:*" npm start` (`:in` source data, `:out` posted data, `:migrate` processing).
49
+ - Single case debug (run after full migration): `TESTRAIL_CASE_ID=12345 npm start`.
50
+ - Edit `migrate.js` to customize sections, suites, steps mapping.
51
+
52
+ ## Test Runs with Results
53
+
54
+ - Requires Project Reporting API key (project Settings > API section) as `TESTOMATIO_REPORT_TOKEN`.
55
+ - Import all cases first, then:
56
+
57
+ ```bash
58
+ npm run migrate-run-results
59
+ ```
60
+
61
+ - Single run: `TESTRAIL_RUN_ID=<id> npm run migrate-run-results`.
62
+ - Already-imported runs are skipped via `@id:<run_id>` tag in run title.
63
+ - Artifacts need S3 bucket plus same S3 creds in Testomat.io project Settings:
64
+
65
+ ```env
66
+ S3_ACCESS_KEY_ID=
67
+ S3_SECRET_ACCESS_KEY=
68
+ S3_REGION=
69
+ S3_BUCKET=
70
+ # S3_ENDPOINT= # non-AWS only
71
+ ```
72
+
73
+ ## Attachments Fix
74
+
75
+ - Fixes orphaned `index.php?/attachments/get/123` URLs left by earlier imports.
76
+ - Needs `TESTRAIL_SESSION` (browser cookie `tr_session` from DevTools > Application > Cookies after TestRail login).
77
+
78
+ ```bash
79
+ npm run migrate-attachments:dry-run
80
+ npm run migrate-attachments
81
+ ```
82
+
83
+ ## Recovery
84
+
85
+ - Duplicated steps after TestRail template change: `git checkout opt/template-fields-sync`, rerun.
86
+ - UI tool cannot connect: API disabled in TestRail.
87
+ - CSV fails: first row must hold column names.
@@ -0,0 +1,56 @@
1
+ # XRay Migration
2
+
3
+ Script pulls from XRay API, produces a Testomat.io-compatible CSV, imported via UI.
4
+
5
+ Docs: https://docs.testomat.io/project/import-export/import/import-tests-from-xray
6
+ Repo: https://github.com/testomatio/migrate-xray
7
+
8
+ ## Setup
9
+
10
+ - Requires NodeJS 20+.
11
+ - Clone outside the project repo:
12
+
13
+ ```bash
14
+ git clone https://github.com/testomatio/migrate-xray.git <temp-dir>/migrate-xray
15
+ cp .env.example .env
16
+ npm i
17
+ npm start
18
+ ```
19
+
20
+ - `.env` vars:
21
+
22
+ ```env
23
+ JIRA_URL=
24
+ JIRA_USERNAME=
25
+ JIRA_TOKEN=
26
+ JIRA_PROJECT_ID=
27
+ XRAY_URL=
28
+ XRAY_INTERNAL_TOKEN=
29
+ # XRAY_FOLDER_ID= # optional, single folder from Test Repository URL (?selectedFolder=...)
30
+ TESTOMATIO_TOKEN=testomat_****
31
+ TESTOMATIO_PROJECT=
32
+ # DRY_RUN=1 # dry run, no import
33
+ ```
34
+
35
+ - `JIRA_TOKEN` is an Atlassian API token: https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/
36
+ - `TESTOMATIO_TOKEN` is a General Token from https://app.testomat.io/account/access_tokens.
37
+ - `TESTOMATIO_PROJECT` is the URL slug: `https://app.testomat.io/projects/<slug>`.
38
+
39
+ ## XRay Token Extraction
40
+
41
+ - XRay has no public token endpoint; extract manually.
42
+ - Open XRay app > F12 DevTools > Network tab > filter `xray.cloud.getxray.app`.
43
+ - Open any XRay request Headers, copy `X-Acpt` header value into `XRAY_INTERNAL_TOKEN`.
44
+ - Copy request Origin into `XRAY_URL` (usually `https://eu.xray.cloud.getxray.app` or `https://us.xray.cloud.getxray.app`).
45
+ - Token expires: on `401 ... Authentication request has expired` reopen XRay and fetch a fresh token.
46
+
47
+ ## Import Result
48
+
49
+ - Tests tab > Imports > Import from CSV > dropdown `XRay` (or `Testomatio` for script output) > Choose file > Create.
50
+ - Debug: `DEBUG="testomatio:xray:*" npm start` (`:in` source, `:out` posted, `:migrate` processing).
51
+ - Edit `migrate.js` to customize steps or field mapping.
52
+
53
+ ## Known Limitations
54
+
55
+ - Test params are not exported by XRay API.
56
+ - Tests referencing steps from another XRay test import as `[steps from a missing XRay test]` unless the referenced test is imported first.