Test Suites
3 passed, 3 total
Tests
36 passed, 36 total
Snapshots
0 passed, 0 total
{
"resultDir": "test-report/",
"reportTitle": "AvtoShina QA Dashboard",
"additionalResultsProcessors": [],
"coverageLink": "../../coverage/lcov-report/index.html",
"jestStareConfigJson": "jest-stare.json",
"resultHtml": "index.html",
"resultJson": "jest-results.json"
}
{
"numFailedTestSuites": 0,
"numFailedTests": 0,
"numPassedTestSuites": 3,
"numPassedTests": 36,
"numPendingTestSuites": 0,
"numPendingTests": 0,
"numRuntimeErrorTestSuites": 0,
"numTodoTests": 0,
"numTotalTestSuites": 3,
"numTotalTests": 36,
"openHandles": [],
"snapshot": {
"added": 0,
"didUpdate": false,
"failure": false,
"filesAdded": 0,
"filesRemoved": 0,
"filesRemovedList": [],
"filesUnmatched": 0,
"filesUpdated": 0,
"matched": 0,
"total": 0,
"unchecked": 0,
"uncheckedKeysByFile": [],
"unmatched": 0,
"updated": 0
},
"startTime": 1793692982844,
"success": false,
"testResults": [
{
"leaks": false,
"numFailingTests": 0,
"numPassingTests": 13,
"numPendingTests": 0,
"numTodoTests": 0,
"openHandles": [],
"perfStats": {
"end": 1793692985205,
"loadTestEnvironmentEnd": 1793692983466,
"loadTestEnvironmentStart": 1793692983190,
"runtime": 1737,
"setupAfterEnvEnd": 1793692983842,
"setupAfterEnvStart": 1793692983842,
"setupFilesEnd": 1793692983468,
"setupFilesStart": 1793692983468,
"slow": false,
"start": 1793692983468
},
"skipped": false,
"snapshot": {
"added": 0,
"fileDeleted": false,
"matched": 0,
"unchecked": 0,
"uncheckedKeys": [],
"unmatched": 0,
"updated": 0
},
"testFilePath": "/home/qaavtoshina/qa.avtoshina.by/redirects.test.js",
"testResults": [
{
"ancestorTitles": [
"Redirects (301)"
],
"duration": 57,
"failing": false,
"failureDetails": [],
"failureMessages": [],
"fullName": "Redirects (301) http://avtoshina.by/ → https://avtoshina.by/",
"invocations": 1,
"location": null,
"numPassingAsserts": 2,
"retryReasons": [],
"startAt": 1793692983930,
"status": "passed",
"title": "http://avtoshina.by/ → https://avtoshina.by/"
},
{
"ancestorTitles": [
"Redirects (301)"
],
"duration": 24,
"failing": false,
"failureDetails": [],
"failureMessages": [],
"fullName": "Redirects (301) http://avtoshina.by/catalog?page=2 → https://avtoshina.by/catalog?page=2",
"invocations": 1,
"location": null,
"numPassingAsserts": 2,
"retryReasons": [],
"startAt": 1793692983988,
"status": "passed",
"title": "http://avtoshina.by/catalog?page=2 → https://avtoshina.by/catalog?page=2"
},
{
"ancestorTitles": [
"Redirects (301)"
],
"duration": 12,
"failing": false,
"failureDetails": [],
"failureMessages": [],
"fullName": "Redirects (301) http://www.avtoshina.by/ → https://avtoshina.by/",
"invocations": 1,
"location": null,
"numPassingAsserts": 2,
"retryReasons": [],
"startAt": 1793692984013,
"status": "passed",
"title": "http://www.avtoshina.by/ → https://avtoshina.by/"
},
{
"ancestorTitles": [
"Redirects (301)"
],
"duration": 28,
"failing": false,
"failureDetails": [],
"failureMessages": [],
"fullName": "Redirects (301) https://www.avtoshina.by/ → https://avtoshina.by/",
"invocations": 1,
"location": null,
"numPassingAsserts": 2,
"retryReasons": [],
"startAt": 1793692984025,
"status": "passed",
"title": "https://www.avtoshina.by/ → https://avtoshina.by/"
},
{
"ancestorTitles": [
"Redirects (301)"
],
"duration": 3,
"failing": false,
"failureDetails": [],
"failureMessages": [],
"fullName": "Redirects (301) http://www.avtoshina.by/ redirects directly to https:// (no chain)",
"invocations": 1,
"location": null,
"numPassingAsserts": 3,
"retryReasons": [],
"startAt": 1793692984054,
"status": "passed",
"title": "http://www.avtoshina.by/ redirects directly to https:// (no chain)"
},
{
"ancestorTitles": [
"Redirects (301)"
],
"duration": 3,
"failing": false,
"failureDetails": [],
"failureMessages": [],
"fullName": "Redirects (301) https://www.avtoshina.by/catalog?page=2 → https://avtoshina.by/catalog?page=2",
"invocations": 1,
"location": null,
"numPassingAsserts": 2,
"retryReasons": [],
"startAt": 1793692984057,
"status": "passed",
"title": "https://www.avtoshina.by/catalog?page=2 → https://avtoshina.by/catalog?page=2"
},
{
"ancestorTitles": [
"Redirects (301)"
],
"duration": 4,
"failing": false,
"failureDetails": [],
"failureMessages": [],
"fullName": "Redirects (301) http://www.avtoshina.by/catalog → https://avtoshina.by/catalog",
"invocations": 1,
"location": null,
"numPassingAsserts": 2,
"retryReasons": [],
"startAt": 1793692984060,
"status": "passed",
"title": "http://www.avtoshina.by/catalog → https://avtoshina.by/catalog"
},
{
"ancestorTitles": [
"Redirects (301)"
],
"duration": 15,
"failing": false,
"failureDetails": [],
"failureMessages": [],
"fullName": "Redirects (301) https://avtoshina.by////catalog////item → https://avtoshina.by/catalog/item",
"invocations": 1,
"location": null,
"numPassingAsserts": 2,
"retryReasons": [],
"startAt": 1793692984065,
"status": "passed",
"title": "https://avtoshina.by////catalog////item → https://avtoshina.by/catalog/item"
},
{
"ancestorTitles": [
"Redirects (301)"
],
"duration": 13,
"failing": false,
"failureDetails": [],
"failureMessages": [],
"fullName": "Redirects (301) https://avtoshina.by//catalog//item?x=1 → https://avtoshina.by/catalog/item?x=1",
"invocations": 1,
"location": null,
"numPassingAsserts": 2,
"retryReasons": [],
"startAt": 1793692984086,
"status": "passed",
"title": "https://avtoshina.by//catalog//item?x=1 → https://avtoshina.by/catalog/item?x=1"
},
{
"ancestorTitles": [
"Redirects (301)"
],
"duration": 7,
"failing": false,
"failureDetails": [],
"failureMessages": [],
"fullName": "Redirects (301) https://avtoshina.by/catalog// → https://avtoshina.by/catalog/",
"invocations": 1,
"location": null,
"numPassingAsserts": 2,
"retryReasons": [],
"startAt": 1793692984099,
"status": "passed",
"title": "https://avtoshina.by/catalog// → https://avtoshina.by/catalog/"
},
{
"ancestorTitles": [
"Redirects (301)"
],
"duration": 55,
"failing": false,
"failureDetails": [],
"failureMessages": [],
"fullName": "Redirects (301) https://avtoshina.by/product/11963519 → product/{slug}",
"invocations": 1,
"location": null,
"numPassingAsserts": 2,
"retryReasons": [],
"startAt": 1793692984107,
"status": "passed",
"title": "https://avtoshina.by/product/11963519 → product/{slug}"
},
{
"ancestorTitles": [
"Redirects (301)"
],
"duration": 562,
"failing": false,
"failureDetails": [],
"failureMessages": [],
"fullName": "Redirects (301) https://avtoshina.by/ does not redirect",
"invocations": 1,
"location": null,
"numPassingAsserts": 1,
"retryReasons": [],
"startAt": 1793692984162,
"status": "passed",
"title": "https://avtoshina.by/ does not redirect"
},
{
"ancestorTitles": [
"Redirects (301)"
],
"duration": 478,
"failing": false,
"failureDetails": [],
"failureMessages": [],
"fullName": "Redirects (301) https://avtoshina.by/catalog does not redirect",
"invocations": 1,
"location": null,
"numPassingAsserts": 1,
"retryReasons": [],
"startAt": 1793692984724,
"status": "passed",
"title": "https://avtoshina.by/catalog does not redirect"
}
],
"failureMessage": null
},
{
"leaks": false,
"numFailingTests": 0,
"numPassingTests": 10,
"numPendingTests": 0,
"numTodoTests": 0,
"openHandles": [],
"perfStats": {
"end": 1793692986211,
"loadTestEnvironmentEnd": 1793692985248,
"loadTestEnvironmentStart": 1793692985234,
"runtime": 962,
"setupAfterEnvEnd": 1793692985364,
"setupAfterEnvStart": 1793692985364,
"setupFilesEnd": 1793692985249,
"setupFilesStart": 1793692985249,
"slow": false,
"start": 1793692985249
},
"skipped": false,
"snapshot": {
"added": 0,
"fileDeleted": false,
"matched": 0,
"unchecked": 0,
"uncheckedKeys": [],
"unmatched": 0,
"updated": 0
},
"testFilePath": "/home/qaavtoshina/qa.avtoshina.by/security.test.js",
"testResults": [
{
"ancestorTitles": [
"Security: no debug/stack leakage"
],
"duration": 338,
"failing": false,
"failureDetails": [],
"failureMessages": [],
"fullName": "Security: no debug/stack leakage API does not expose stack trace or env values",
"invocations": 1,
"location": null,
"numPassingAsserts": 2,
"retryReasons": [],
"startAt": 1793692985375,
"status": "passed",
"title": "API does not expose stack trace or env values"
},
{
"ancestorTitles": [
"Security: HTTP headers"
],
"duration": 15,
"failing": false,
"failureDetails": [],
"failureMessages": [],
"fullName": "Security: HTTP headers main page sets basic security headers",
"invocations": 1,
"location": null,
"numPassingAsserts": 2,
"retryReasons": [],
"startAt": 1793692985715,
"status": "passed",
"title": "main page sets basic security headers"
},
{
"ancestorTitles": [
"Security: HTTP headers"
],
"duration": 4,
"failing": false,
"failureDetails": [],
"failureMessages": [],
"fullName": "Security: HTTP headers HTTP redirects to HTTPS, not to another HTTP",
"invocations": 1,
"location": null,
"numPassingAsserts": 2,
"retryReasons": [],
"startAt": 1793692985730,
"status": "passed",
"title": "HTTP redirects to HTTPS, not to another HTTP"
},
{
"ancestorTitles": [
"Security: sensitive paths are not exposed"
],
"duration": 11,
"failing": false,
"failureDetails": [],
"failureMessages": [],
"fullName": "Security: sensitive paths are not exposed /.env should not be accessible",
"invocations": 1,
"location": null,
"numPassingAsserts": 2,
"retryReasons": [],
"startAt": 1793692985734,
"status": "passed",
"title": "/.env should not be accessible"
},
{
"ancestorTitles": [
"Security: sensitive paths are not exposed"
],
"duration": 12,
"failing": false,
"failureDetails": [],
"failureMessages": [],
"fullName": "Security: sensitive paths are not exposed /.git/config should not be accessible",
"invocations": 1,
"location": null,
"numPassingAsserts": 2,
"retryReasons": [],
"startAt": 1793692985745,
"status": "passed",
"title": "/.git/config should not be accessible"
},
{
"ancestorTitles": [
"Security: sensitive paths are not exposed"
],
"duration": 10,
"failing": false,
"failureDetails": [],
"failureMessages": [],
"fullName": "Security: sensitive paths are not exposed /phpinfo.php should not be accessible",
"invocations": 1,
"location": null,
"numPassingAsserts": 2,
"retryReasons": [],
"startAt": 1793692985757,
"status": "passed",
"title": "/phpinfo.php should not be accessible"
},
{
"ancestorTitles": [
"Security: sensitive paths are not exposed"
],
"duration": 11,
"failing": false,
"failureDetails": [],
"failureMessages": [],
"fullName": "Security: sensitive paths are not exposed /info.php should not be accessible",
"invocations": 1,
"location": null,
"numPassingAsserts": 2,
"retryReasons": [],
"startAt": 1793692985768,
"status": "passed",
"title": "/info.php should not be accessible"
},
{
"ancestorTitles": [
"Security: sensitive paths are not exposed"
],
"duration": 12,
"failing": false,
"failureDetails": [],
"failureMessages": [],
"fullName": "Security: sensitive paths are not exposed /server-status should not be accessible",
"invocations": 1,
"location": null,
"numPassingAsserts": 2,
"retryReasons": [],
"startAt": 1793692985780,
"status": "passed",
"title": "/server-status should not be accessible"
},
{
"ancestorTitles": [
"Security: sensitive paths are not exposed"
],
"duration": 10,
"failing": false,
"failureDetails": [],
"failureMessages": [],
"fullName": "Security: sensitive paths are not exposed /.htaccess should not be accessible",
"invocations": 1,
"location": null,
"numPassingAsserts": 2,
"retryReasons": [],
"startAt": 1793692985793,
"status": "passed",
"title": "/.htaccess should not be accessible"
},
{
"ancestorTitles": [
"Security: admin panels are not exposed"
],
"duration": 404,
"failing": false,
"failureDetails": [],
"failureMessages": [],
"fullName": "Security: admin panels are not exposed dbdb.avtoshina.by does not serve phpMyAdmin",
"invocations": 1,
"location": null,
"numPassingAsserts": 1,
"retryReasons": [],
"startAt": 1793692985803,
"status": "passed",
"title": "dbdb.avtoshina.by does not serve phpMyAdmin"
}
],
"failureMessage": null
},
{
"leaks": false,
"numFailingTests": 0,
"numPassingTests": 13,
"numPendingTests": 0,
"numTodoTests": 0,
"openHandles": [],
"perfStats": {
"end": 1793692986642,
"loadTestEnvironmentEnd": 1793692983445,
"loadTestEnvironmentStart": 1793692983200,
"runtime": 3195,
"setupAfterEnvEnd": 1793692983701,
"setupAfterEnvStart": 1793692983701,
"setupFilesEnd": 1793692983447,
"setupFilesStart": 1793692983447,
"slow": false,
"start": 1793692983447
},
"skipped": false,
"snapshot": {
"added": 0,
"fileDeleted": false,
"matched": 0,
"unchecked": 0,
"uncheckedKeys": [],
"unmatched": 0,
"updated": 0
},
"testFilePath": "/home/qaavtoshina/qa.avtoshina.by/app.test.js",
"testResults": [
{
"ancestorTitles": [
"Website and XML feeds"
],
"duration": 765,
"failing": false,
"failureDetails": [],
"failureMessages": [],
"fullName": "Website and XML feeds Main page should return 200 and contain HTML",
"invocations": 1,
"location": null,
"numPassingAsserts": 3,
"retryReasons": [],
"startAt": 1793692984030,
"status": "passed",
"title": "Main page should return 200 and contain HTML"
},
{
"ancestorTitles": [
"Website and XML feeds"
],
"duration": 6,
"failing": false,
"failureDetails": [],
"failureMessages": [],
"fullName": "Website and XML feeds robots.txt should exist and be accessible",
"invocations": 1,
"location": null,
"numPassingAsserts": 4,
"retryReasons": [],
"startAt": 1793692984796,
"status": "passed",
"title": "robots.txt should exist and be accessible"
},
{
"ancestorTitles": [
"Website and XML feeds"
],
"duration": 30,
"failing": false,
"failureDetails": [],
"failureMessages": [],
"fullName": "Website and XML feeds sitemap.xml should exist and be accessible",
"invocations": 1,
"location": null,
"numPassingAsserts": 3,
"retryReasons": [],
"startAt": 1793692984802,
"status": "passed",
"title": "sitemap.xml should exist and be accessible"
},
{
"ancestorTitles": [
"Website and XML feeds"
],
"duration": 320,
"failing": false,
"failureDetails": [],
"failureMessages": [],
"fullName": "Website and XML feeds Yandex Market Feed should return 200 and XML",
"invocations": 1,
"location": null,
"numPassingAsserts": 2,
"retryReasons": [],
"startAt": 1793692984832,
"status": "passed",
"title": "Yandex Market Feed should return 200 and XML"
},
{
"ancestorTitles": [
"API endpoints"
],
"duration": 539,
"failing": false,
"failureDetails": [],
"failureMessages": [],
"fullName": "API endpoints AMO CRM custom fields should return a list with more than 10 items",
"invocations": 1,
"location": null,
"numPassingAsserts": 3,
"retryReasons": [],
"startAt": 1793692985153,
"status": "passed",
"title": "AMO CRM custom fields should return a list with more than 10 items"
},
{
"ancestorTitles": [
"API endpoints"
],
"duration": 41,
"failing": false,
"failureDetails": [],
"failureMessages": [],
"fullName": "API endpoints /api/v1/cart/options should return delivery and payment options",
"invocations": 1,
"location": null,
"numPassingAsserts": 3,
"retryReasons": [],
"startAt": 1793692985692,
"status": "passed",
"title": "/api/v1/cart/options should return delivery and payment options"
},
{
"ancestorTitles": [
"API endpoints"
],
"duration": 360,
"failing": false,
"failureDetails": [],
"failureMessages": [],
"fullName": "API endpoints /api/v1/products should return a non‑empty array of items",
"invocations": 1,
"location": null,
"numPassingAsserts": 4,
"retryReasons": [],
"startAt": 1793692985734,
"status": "passed",
"title": "/api/v1/products should return a non‑empty array of items"
},
{
"ancestorTitles": [
"API endpoints"
],
"duration": 12,
"failing": false,
"failureDetails": [],
"failureMessages": [],
"fullName": "API endpoints /api/v2 should return 200",
"invocations": 1,
"location": null,
"numPassingAsserts": 1,
"retryReasons": [],
"startAt": 1793692986094,
"status": "passed",
"title": "/api/v2 should return 200"
},
{
"ancestorTitles": [
"API endpoints"
],
"duration": 71,
"failing": false,
"failureDetails": [],
"failureMessages": [],
"fullName": "API endpoints /api/v2/blog posts should have required fields",
"invocations": 1,
"location": null,
"numPassingAsserts": 202,
"retryReasons": [],
"startAt": 1793692986106,
"status": "passed",
"title": "/api/v2/blog posts should have required fields"
},
{
"ancestorTitles": [
"API endpoints"
],
"duration": 10,
"failing": false,
"failureDetails": [],
"failureMessages": [],
"fullName": "API endpoints /api/v2/me should return 401 Unauthorized",
"invocations": 1,
"location": null,
"numPassingAsserts": 1,
"retryReasons": [],
"startAt": 1793692986177,
"status": "passed",
"title": "/api/v2/me should return 401 Unauthorized"
},
{
"ancestorTitles": [
"Image storage (s3) checks"
],
"duration": 25,
"failing": false,
"failureDetails": [],
"failureMessages": [],
"fullName": "Image storage (s3) checks S3 bucket listing should return XML with ListBucketResult and Contents",
"invocations": 1,
"location": null,
"numPassingAsserts": 5,
"retryReasons": [],
"startAt": 1793692986187,
"status": "passed",
"title": "S3 bucket listing should return XML with ListBucketResult and Contents"
},
{
"ancestorTitles": [
"Homepage and catalog asset integrity"
],
"duration": 172,
"failing": false,
"failureDetails": [],
"failureMessages": [],
"fullName": "Homepage and catalog asset integrity Homepage assets (CSS, JS, images) are reachable",
"invocations": 1,
"location": null,
"numPassingAsserts": 0,
"retryReasons": [],
"startAt": 1793692986213,
"status": "passed",
"title": "Homepage assets (CSS, JS, images) are reachable"
},
{
"ancestorTitles": [
"Homepage and catalog asset integrity"
],
"duration": 254,
"failing": false,
"failureDetails": [],
"failureMessages": [],
"fullName": "Homepage and catalog asset integrity Catalog page assets (CSS, JS, images) are reachable",
"invocations": 1,
"location": null,
"numPassingAsserts": 0,
"retryReasons": [],
"startAt": 1793692986385,
"status": "passed",
"title": "Catalog page assets (CSS, JS, images) are reachable"
}
],
"failureMessage": null
}
],
"wasInterrupted": false
}
{
"bail": 0,
"changedFilesWithAncestor": false,
"ci": false,
"collectCoverage": false,
"collectCoverageFrom": [],
"coverageDirectory": "/home/qaavtoshina/qa.avtoshina.by/coverage",
"coverageProvider": "babel",
"coverageReporters": [
"json",
"text",
"lcov",
"clover"
],
"detectLeaks": false,
"detectOpenHandles": false,
"errorOnDeprecated": false,
"expand": false,
"findRelatedTests": false,
"forceExit": false,
"json": false,
"lastCommit": false,
"listTests": false,
"logHeapUsage": false,
"maxConcurrency": 5,
"maxWorkers": 2,
"noStackTrace": false,
"nonFlagArgs": [],
"notify": false,
"notifyMode": "failure-change",
"onlyChanged": false,
"onlyFailures": false,
"openHandlesTimeout": 1000,
"passWithNoTests": false,
"projects": [],
"reporters": [
[
"default",
{}
],
[
"/home/qaavtoshina/qa.avtoshina.by/node_modules/jest-stare/lib/index.js",
{
"resultDir": "test-report/",
"reportTitle": "AvtoShina QA Dashboard",
"additionalResultsProcessors": [],
"coverageLink": "../../coverage/lcov-report/index.html",
"jestStareConfigJson": "jest-stare.json",
"resultHtml": "index.html",
"resultJson": "jest-results.json"
}
]
],
"rootDir": "/home/qaavtoshina/qa.avtoshina.by",
"runInBand": false,
"runTestsByPath": false,
"seed": -2031384385,
"skipFilter": false,
"snapshotFormat": {
"escapeString": false,
"printBasicPrototype": false
},
"testFailureExitCode": 1,
"testPathPatterns": {
"patterns": [],
"type": "TestPathPatterns"
},
"testSequencer": "/home/qaavtoshina/qa.avtoshina.by/node_modules/@jest/test-sequencer/build/index.js",
"updateSnapshot": "new",
"useStderr": false,
"waitForUnhandledRejections": false,
"watch": false,
"watchAll": false,
"watchman": true,
"workerThreads": false
}