{"_id":"@askui/jest-allure-circus","_rev":"7-71915d74ff4f7a90d8e6fe94379ec2d9","name":"@askui/jest-allure-circus","dist-tags":{"latest":"1.0.23"},"versions":{"1.0.22":{"name":"@askui/jest-allure-circus","version":"1.0.22","keywords":["jest","circus","reporter","allure","environment","detailed","reports","collect","analyze","jest28","jest28allure"],"license":"MIT","_id":"@askui/jest-allure-circus@1.0.22","maintainers":[{"name":"programmnix-askui","email":"Dominik.Klotz@askui.com"},{"name":"mlikasam","email":"Samir.Mlika@askui.com"},{"name":"johannesdienst-askui","email":"johannes.dienst@askui.com"},{"name":"adi-wan","email":"adrian.stritzinger@askui.com"}],"homepage":"https://github.com/askui/jest-allure-circus#readme","bugs":{"url":"https://github.com/askui/jest-allure-circus/issues"},"xo":{"rules":{"promise/prefer-await-to-then":1,"unicorn/prefer-node-protocol":0,"@typescript-eslint/no-unsafe-call":1,"@typescript-eslint/no-unused-vars":1,"@typescript-eslint/no-unsafe-return":1,"@typescript-eslint/no-require-imports":1,"@typescript-eslint/no-unsafe-argument":1,"@typescript-eslint/no-unsafe-assignment":1,"@typescript-eslint/no-unsafe-member-access":1},"extends":["plugin:jest/recommended"],"globals":["allure"]},"dist":{"shasum":"a115e340f419c634ff03fc3fc28cc29072e0d5c4","tarball":"https://registry.npmjs.org/@askui/jest-allure-circus/-/jest-allure-circus-1.0.22.tgz","fileCount":24,"integrity":"sha512-t8xLLOYNtODQl9NzEETjWW3rfLF7PwRiP+B1mD5YLKNgS0p1Plu5Ngt2CCWs0meAg7hXLbIXebxsXwq9obXLvQ==","signatures":[{"sig":"MEQCIE72WERzx3+Cs1hzwAdtfAXm+WQJv1ChiVOKC2JmTCNpAiBZFFd23MWF+4YSv5wwOfFcJk0WJ/gMZTJXyWJ9504h2A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83356},"jest":{"testRunner":"jest-circus/runner","logHeapUsage":true,"testEnvironment":"./dist"},"main":"dist","husky":{"hooks":{"pre-push":"lint","pre-commit":"lint-staged"}},"types":"dist/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.x"},"gitHead":"58ac94cd0a4598410e9b88d1f48860c77f8f8a93","release":{"plugins":[["@semantic-release/commit-analyzer",{"config":"./node_modules/cz-conventional-changelog","preset":"conventionalcommits"}],["@semantic-release/changelog",{"changelogTitle":"# Changelog"}],"@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/git","@semantic-release/github"],"branches":["master"]},"scripts":{"fix":"xo src --fix","lint":"xo src","test":"rimraf allure-results && npm run prepare && jest","build":"rimraf dist && tsc","prepare":"npm run build","release":"semantic-release"},"_npmUser":{"name":"adi-wan","email":"adrian.stritzinger@askui.com"},"repository":{"url":"git+https://github.com/askui/jest-allure-circus.git","type":"git"},"_npmVersion":"8.19.2","description":"[![jest](https://jestjs.io/img/jest-badge.svg)](https://github.com/facebook/jest)\r [![XO code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/xojs/xo)\r [![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%","directories":{},"lint-staged":{"./src/**/*":["xo src --fix"]},"resolutions":{"mem":"^4.0","yargs-parser":"^13.1.2"},"_nodeVersion":"16.18.0","dependencies":{"lodash":"^4.17.21","ansi_up":"^5.1.0","prettier":"^2.7.1","@jest/types":"^28.1.3","jest-circus":"^28.1.3","jest-docblock":"^29.2.0","pretty-format":"^28.1.3","@jest/reporters":"^28.1.3","@jest/environment":"^28.1.3","allure-js-commons":"2.0.0-beta.19","jest-environment-node":"^28.1.3"},"_hasShrinkwrap":false,"devDependencies":{"xo":"^0.51.0","jest":"^29.3.1","husky":"^8.0.2","commitizen":"^4.2.6","typescript":"^4.7.4","@types/jest":"^29.2.4","@types/node":"^18.7.2","lint-staged":"^13.1.0","@types/lodash":"^4.14.182","semantic-release":"^19.0.3","eslint-plugin-jest":"^26.8.2","@semantic-release/git":"^10.0.1","@types/allure-js-commons":"^0.0.1","cz-conventional-changelog":"3.3.0","@semantic-release/changelog":"^6.0.1","eslint-config-xo-typescript":"^0.51.1","conventional-changelog-conventionalcommits":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/jest-allure-circus_1.0.22_1694068026354_0.502580510886798","host":"s3://npm-registry-packages"}},"1.0.23":{"name":"@askui/jest-allure-circus","version":"1.0.23","keywords":["jest","circus","reporter","allure","environment","detailed","reports","collect","analyze","jest28","jest28allure"],"license":"MIT","_id":"@askui/jest-allure-circus@1.0.23","maintainers":[{"name":"programmnix-askui","email":"Dominik.Klotz@askui.com"},{"name":"mlikasam","email":"Samir.Mlika@askui.com"},{"name":"johannesdienst-askui","email":"johannes.dienst@askui.com"},{"name":"adi-wan","email":"adrian.stritzinger@askui.com"}],"homepage":"https://github.com/askui/jest-allure-circus#readme","bugs":{"url":"https://github.com/askui/jest-allure-circus/issues"},"xo":{"rules":{"promise/prefer-await-to-then":1,"unicorn/prefer-node-protocol":0,"@typescript-eslint/no-unsafe-call":1,"@typescript-eslint/no-unused-vars":1,"@typescript-eslint/no-unsafe-return":1,"@typescript-eslint/no-require-imports":1,"@typescript-eslint/no-unsafe-argument":1,"@typescript-eslint/no-unsafe-assignment":1,"@typescript-eslint/no-unsafe-member-access":1},"extends":["plugin:jest/recommended"],"globals":["allure"]},"dist":{"shasum":"4cdd961e32ffbb45b2cb13177f017a71c1b666d9","tarball":"https://registry.npmjs.org/@askui/jest-allure-circus/-/jest-allure-circus-1.0.23.tgz","fileCount":24,"integrity":"sha512-QaYqMWHLeooSg1MuUw4ukqcy1Vxfir/XCDAb6RDWZvxiNVG98QQNKa+q+pf1/539mhipgDtj80vOh2JKKGvKhw==","signatures":[{"sig":"MEYCIQC5Ysyl3gLT9YU3jhcxxBqLa6nSniF30IjLnyUwsPSu1wIhAMpbaU0ID9CFS+BykHf16eh8QBlZXFV0NizD/+mHmoRZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83626},"jest":{"testRunner":"jest-circus/runner","logHeapUsage":true,"testEnvironment":"./dist"},"main":"dist","husky":{"hooks":{"pre-push":"lint","pre-commit":"lint-staged"}},"types":"dist/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.x"},"gitHead":"5a10e477c8cd6fa8c15613b70d41d5e4929150aa","release":{"plugins":[["@semantic-release/commit-analyzer",{"config":"./node_modules/cz-conventional-changelog","preset":"conventionalcommits"}],["@semantic-release/changelog",{"changelogTitle":"# Changelog"}],"@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/git","@semantic-release/github"],"branches":["master"]},"scripts":{"fix":"xo src --fix","lint":"xo src","test":"rimraf allure-results && npm run prepare && jest","build":"rimraf dist && tsc","prepare":"npm run build","release":"semantic-release"},"_npmUser":{"name":"johannesdienst-askui","email":"johannes.dienst@askui.com"},"repository":{"url":"git+https://github.com/askui/jest-allure-circus.git","type":"git"},"_npmVersion":"10.2.4","description":"[![jest](https://jestjs.io/img/jest-badge.svg)](https://github.com/facebook/jest)\r [![XO code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/xojs/xo)\r [![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%","directories":{},"lint-staged":{"./src/**/*":["xo src --fix"]},"resolutions":{"mem":"^4.0","yargs-parser":"^13.1.2"},"_nodeVersion":"20.11.0","dependencies":{"lodash":"^4.17.21","ansi_up":"^5.1.0","prettier":"^2.7.1","@jest/types":"^28.1.3","jest-circus":"^28.1.3","jest-docblock":"^29.2.0","pretty-format":"^28.1.3","@jest/reporters":"^28.1.3","@jest/environment":"^28.1.3","allure-js-commons":"2.0.0-beta.19","jest-environment-node":"^28.1.3"},"_hasShrinkwrap":false,"devDependencies":{"xo":"^0.51.0","jest":"^29.3.1","husky":"^8.0.2","commitizen":"^4.2.6","typescript":"^4.7.4","@types/jest":"^29.2.4","@types/node":"^18.7.2","lint-staged":"^13.1.0","@types/lodash":"^4.14.182","semantic-release":"^19.0.3","eslint-plugin-jest":"^26.8.2","@semantic-release/git":"^10.0.1","@types/allure-js-commons":"^0.0.1","cz-conventional-changelog":"3.3.0","@semantic-release/changelog":"^6.0.1","eslint-config-xo-typescript":"^0.51.1","conventional-changelog-conventionalcommits":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/jest-allure-circus_1.0.23_1714049657042_0.0038788669465348313","host":"s3://npm-registry-packages"}}},"time":{"created":"2023-09-07T06:27:06.232Z","modified":"2026-07-11T08:11:26.957Z","1.0.22":"2023-09-07T06:27:06.615Z","1.0.23":"2024-04-25T12:54:17.215Z"},"bugs":{"url":"https://github.com/askui/jest-allure-circus/issues"},"license":"MIT","homepage":"https://github.com/askui/jest-allure-circus#readme","keywords":["jest","circus","reporter","allure","environment","detailed","reports","collect","analyze","jest28","jest28allure"],"repository":{"url":"git+https://github.com/askui/jest-allure-circus.git","type":"git"},"description":"[![jest](https://jestjs.io/img/jest-badge.svg)](https://github.com/facebook/jest)\r [![XO code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/xojs/xo)\r [![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%","maintainers":[{"email":"Dominik.Klotz@askui.com","name":"programmnix-askui"},{"email":"Samir.Mlika@askui.com","name":"mlikasam"},{"email":"danyal.zahid@askui.com","name":"danyalxahid-askui"}],"readme":"# Jest Allure Circus\n\n[![jest](https://jestjs.io/img/jest-badge.svg)](https://github.com/facebook/jest)\n[![XO code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/xojs/xo)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nAllure reporting for newest Jest Circus v28.1\n\n![Allure Report](https://user-images.githubusercontent.com/2823336/40350093-59cad576-5db1-11e8-8210-c4db3bf825a1.png)\n\n---\n\n- [Jest Circus Allure Environment](#jest-circus-allure-environment)\n  - [❗️ Requirements](#️-requirements)\n  - [:rocket: Quick start](#rocket-quick-start)\n  - [:camera_flash: Allure reporting in your tests](#camera_flash-allure-reporting-in-your-tests)\n  - [🔧 Typescript & Intellisense setup](#-typescript--intellisense-setup)\n  - [:gear: Options](#gear-options)\n  - [📈 DocBlocks](#-docblocks)\n    - [🔍 Descriptions](#-descriptions)\n    - [🏷 Tag](#-tag)\n    - [👥 Owner](#-owner)\n    - [:part_alternation_mark: Severity](#part_alternation_mark-severity)\n    - [📇 Behaviors (epics, features, stories)](#-behaviors-epics-features-stories)\n    - [🔗 Links (Jira and TMS)](#-links-jira-and-tms)\n  - [👩‍🎓 Advanced](#-advanced)\n    - [🎛 Global Allure API](#-global-allure-api)\n\n---\n\n## ❗️ Requirements\n\n| Resource                                                             | Description                                                                                  |\n| -------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |\n| [Jest](https://jestjs.io/)                                           | A delightful JavaScript testing framework.                                                   |\n| [Allure 2 CLI](https://github.com/allure-framework/allure2#download) | \"A Java jar command line tool that turns Allure result files into beautiful Allure reports.\" |\n\n## :rocket: Quick start\n\n1. **Add this package**\n\n```shell\nnpm install --dev jest-allure-circus\n```\n\n2. **Update `jest.config.js`**\n\n_See the [testEnvironment docs](https://jestjs.io/docs/en/configuration#testenvironment-string) for configuration details._\n\n```JSON\n{\n  \"testEnvironment\": \"jest-allure-circus\",\n  \"testRunner\": \"jest-circus/runner\"\n}\n```\nOR use this at the top of your testEnv file\n\n```js\nconst AllureEnvironment = require('jest-allure-circus').default\n```\n\n\n3. **Run tests**\n\n```shell\nnpm run test\n```\n\n4. **Open the Allure report**\n\n```shell\nallure serve ./allure-results\n```\n\n## :camera_flash: Allure reporting in your tests\n\nTo provide more information in your reports you can use Docblock pragmas within your tests. For types support you'll need some [additional configuration](#typescript--intellisense-setup).\n\n```js\n// simple.test.js\n\ntest('2 + 3 is 5', () => {\n  /** My test description.\n   * @epic Implement addition functionality\n   * @tag Accounting\n   */\n\n  expect(2 + 3).toBe(5)\n})\n```\n\n## 🔧 Typescript & Intellisense setup\n\n1. **Support Typescript & intellisense by loading the module into your `jest.setup.js` file**\n\n\n\n```js\n// jest.setup.js\n\nimport 'jest-circus-allure-environment' // Typescript or ESM\nrequire('jest-circus-allure-environment') // CommonJS\n```\n\n2. **Make sure your `jest.setup.js` file is properly configured.**\n\n_See the [setupFilesAfterEnv docs](https://jestjs.io/docs/en/configuration#setupfilesafterenv-array) for configuration details._\n\n```js\n// jest.config.js\n\n{\n  \"setupFilesAfterEnv\": [\"./jest.setup.js\"]\n}\n```\n\n## :gear: Options\n\nOptions that can be passed into the `environmentOptions` property of your `jest.config.js`\n\n| Parameter       | Description                                                                                                      | Default               |\n| --------------- | ---------------------------------------------------------------------------------------------------------------- | --------------------- |\n| resultsDir      | Path where Allure result files will be written.                                                                  | `\"allure-results\"`    |\n| jiraUrl         | URL to Jira instance. Any `@issue` docblock pragmas will link to this URL.                                       | `undefined`           |\n| tmsUrl          | URL to TMS instance. Any `@tms` docblock pragmas will link to this URL.                                          | `undefined`           |\n| environmentInfo | Key value pairs that will appear under the environment section of the Allure report                              | `{}`                  |\n| categories      | Array of custom categories you wish to see in the Allure report. [See an example](./src/category-definitions.ts) | `[]`                  |\n| testPath        | Path to your test files. This path will be subtracted from the Allure report when organizing tests into suites.  | `Jest.config.rootDir` |\n\n## 📈 DocBlocks\n\nYou may set code comments inside your tests called DocBlocks, that can be parsed for specific allure report pragmas. These are the supported DocBlock pragmas you may add to a test.\n\n### 🔍 Descriptions\n\nAdd descriptions that document the tested functionality.\n\n```TS\ntest('does something important, when triggered by user', () => {\n  /** This uses a 3rd party API that typically undergoes maintenance on Tuesdays.\n   */\n\n  ...\n})\n```\n\n### 🏷 Tag\n\nTag a test with a custom label.\n\n_Set multiple tags using a `,` deliminator._\n\n```TS\ntest('does something important, when triggered by user', () => {\n  /**\n   * @tag beta\n   * @tag feature-flagged, api-v3\n   */\n\n  ...\n})\n```\n\n### 👥 Owner\n\nSet an owner for a test.\n\n```TS\ntest('does something important, when triggered by user', () => {\n  /**\n   * @owner ios-team\n   */\n\n  ..\n})\n```\n\n### :part_alternation_mark: Severity\n\nMark tests with a severity rating to indicate the importance of the tested functionality in respect to the overall application.\n\n| Level            | Description                                                                  |\n| ---------------- | ---------------------------------------------------------------------------- |\n| blocker          | Tests that if failing, will halt further development.                        |\n| critical         | Tests that must pass; or risk disrupting crucial application logic.          |\n| normal (default) | Tests that are of average importance to the overall application.             |\n| minor            | Tests that if failing, should only effect a small subset of the application. |\n| trivial          | Tests that validate unreleased, disabled, or deprecated features.            |\n\nExample of setting a test as \"critical\" severity\n\n```TS\ntest('does something important, when triggered by user', () => {\n  /**\n   * @severity critical\n   */\n\n  ...\n})\n```\n\n### 📇 Behaviors (epics, features, stories)\n\nMark tests with a behavior label to organize tests in a feature based hierarchy.\n\n| Level   | Description                                                              |\n| ------- | ------------------------------------------------------------------------ |\n| epic    | Tests that if fail, will effect the expected functionality of an epic.   |\n| feature | Tests that if fail, will effect the expected functionality of a feature. |\n| story   | Tests that if fail, will effect the expected functionality of story.     |\n\nExample:\n\n```TS\ntest('validation message appears, when email field is skipped', () => {\n  /**\n   * @epic Automate user sign up\n   * @feature Registration page\n   * @story Validate required registration fields before creating new user\n   */\n\n  ...\n})\n```\n\n### 🔗 Links (Jira and TMS)\n\nAdd Jira and TMS links to a test.\n\n| Level | Description                                                                                         |\n| ----- | --------------------------------------------------------------------------------------------------- |\n| issue | Adds a link to the test report that will open an existing issue in Jira.                            |\n| tms   | Adds a link to the test report that will open an existing test case in your test management system. |\n\nExample:\n\n```TS\ntest('validation message appears, when email field is skipped', () => {\n  /**\n   * @issue DEBT-60\n   * @tms CORE-122\n   */\n\n  ...\n})\n```\n\n### :bug: AllureId\n\nTest Case ID in Allure.\n\nExample:\n\n```TS\ntest('validation message appears, when email field is skipped', () => {\n  /**\n   * @allureId 92066\n   */\n\n  ...\n})\n```\n\n## 👩‍🎓 Advanced\n\n### 🎛 Global Allure API\n\nAn instance of the allure runtime will be available on the Node global variable. You can utilize it's APIs to provide custom reporting functionality.\n\n```TS\n/**\n * Returns the Allure test instance for the currently running test if one is running, otherwise null.\n */\nallure.currentTest: AllureTest | null;\n\n/**\n * Adds a description to the report of the current test. Supports markdown.\n */\nallure.description(markdown: string): void;\n\n/**\n * Starts and returns a new step instance on the current executable.\n */\nallure.startStep(name: string): StepWrapper;\n\n/**\n * Starts a new Allure step, sets the status, and adds any provided attachments (optional), then ends the step.\n */\nallure.logStep(\n  name: string,\n  status: Status,\n  attachments?: Array<{ name: string; content: string; type: ContentType }>\n): void;\n\n/**\n * Add a parameter to the report of the current executable.\n */\nallure.parameter(name: string, value: string): void;\n\n/**\n * Attach a file to the report of the current executable.\n */\nallure.attachment(\n  name: string,\n  content: Buffer | string,\n  type: ContentType\n);\n\n/**\n * Add a issue link to the report of the current test.\n */\nallure.issue(id: string): void;\n\n/**\n * Add a TMS link to the report of the current test.\n */\nallure.tms(id: string): void;\n\n/**\n * Add a severity label to the report of the current test.\n */\nallure.severity(severity: Severity): void;\n\n/**\n * Add a epic label to the report of the current test.\n */\nallure.epic(epic: string): void;\n\n/**\n * Add a feature label to the report of the current test.\n */\nallure.feature(feature: string): void;\n\n/**\n * Add a story label to the report of the current test.\n */\nallure.story(story: string): void;\n\n/**\n * Add a tag label to the report of the current test.\n */\nallure.tag(name: string): void;\n\n/**\n * Add a custom label to the report of the current test.\n */\nallure.label(name: string, value: string): void;\n\n/**\n * Add Test Case ID in Allure.\n */\nallure.allureId(id: string, index?: number): void;\n```\n","readmeFilename":"README.md"}