diff --git a/playwright-reports/html/data/06e44c615840f735bba73424e927e0954d8ffe9f.md b/playwright-reports/html/data/06e44c615840f735bba73424e927e0954d8ffe9f.md new file mode 100644 index 0000000..847fb91 --- /dev/null +++ b/playwright-reports/html/data/06e44c615840f735bba73424e927e0954d8ffe9f.md @@ -0,0 +1,24 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: security.spec.ts >> Security - Rate Limiting >> AI endpoints rate limit after daily quota exceeded +- Location: tests/e2e/security.spec.ts:108:3 + +# Error details + +``` +Error: apiRequestContext.post: connect ECONNREFUSED ::1:3000 +Call log: + - → POST http://localhost:3000/api/auth/login + - user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - content-type: application/json + - content-length: 65 + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/073b3a84e67a48c170161e0a7ee0aae27a123df8.md b/playwright-reports/html/data/073b3a84e67a48c170161e0a7ee0aae27a123df8.md new file mode 100644 index 0000000..8f865c6 --- /dev/null +++ b/playwright-reports/html/data/073b3a84e67a48c170161e0a7ee0aae27a123df8.md @@ -0,0 +1,22 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: security.spec.ts >> Security - CORS Headers >> CORS headers are present on API responses +- Location: tests/e2e/security.spec.ts:191:3 + +# Error details + +``` +Error: apiRequestContext.get: connect ECONNREFUSED ::1:3000 +Call log: + - → GET http://localhost:3000/api/nonexistent-route + - user-agent: Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/0e5a355480ad6428e83382d4468d07963b681082.md b/playwright-reports/html/data/0e5a355480ad6428e83382d4468d07963b681082.md new file mode 100644 index 0000000..f2e3b69 --- /dev/null +++ b/playwright-reports/html/data/0e5a355480ad6428e83382d4468d07963b681082.md @@ -0,0 +1,23 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: api.spec.ts >> Gateway API >> Gateway routes /api/ai/* to users service +- Location: tests/e2e/api.spec.ts:240:3 + +# Error details + +``` +Error: apiRequestContext.get: connect ECONNREFUSED ::1:3000 +Call log: + - → GET http://localhost:3000/api/ai/usage + - user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - Authorization: Bearer dummy + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/11ca00cf695dab257487e5bebac2e2c7a3169933.md b/playwright-reports/html/data/11ca00cf695dab257487e5bebac2e2c7a3169933.md new file mode 100644 index 0000000..4ccea51 --- /dev/null +++ b/playwright-reports/html/data/11ca00cf695dab257487e5bebac2e2c7a3169933.md @@ -0,0 +1,24 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: security.spec.ts >> Security - Input Validation >> XSS attempt in login email is handled safely +- Location: tests/e2e/security.spec.ts:163:3 + +# Error details + +``` +Error: apiRequestContext.post: connect ECONNREFUSED ::1:3000 +Call log: + - → POST http://localhost:3000/api/auth/login + - user-agent: Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - content-type: application/json + - content-length: 75 + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/12598e1fbd51e19c41565b90e5b1515b3b5a9dcc.md b/playwright-reports/html/data/12598e1fbd51e19c41565b90e5b1515b3b5a9dcc.md new file mode 100644 index 0000000..7238c0e --- /dev/null +++ b/playwright-reports/html/data/12598e1fbd51e19c41565b90e5b1515b3b5a9dcc.md @@ -0,0 +1,23 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: security.spec.ts >> Security - Token Handling >> Token with invalid signature is rejected +- Location: tests/e2e/security.spec.ts:274:3 + +# Error details + +``` +Error: apiRequestContext.get: connect ECONNREFUSED ::1:3000 +Call log: + - → GET http://localhost:3000/api/ai/usage + - user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwiaWF0IjoxOTk5OTk5OTk5OX0.wronngsignature + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/1800f3ea9cfe96cf643841bb85b0e393d9bc4a72.md b/playwright-reports/html/data/1800f3ea9cfe96cf643841bb85b0e393d9bc4a72.md new file mode 100644 index 0000000..23c6299 --- /dev/null +++ b/playwright-reports/html/data/1800f3ea9cfe96cf643841bb85b0e393d9bc4a72.md @@ -0,0 +1,24 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: api.spec.ts >> AI API Endpoints >> AI Usage Endpoint >> GET /ai/usage returns usage stats for company +- Location: tests/e2e/api.spec.ts:144:5 + +# Error details + +``` +Error: apiRequestContext.post: connect ECONNREFUSED ::1:3000 +Call log: + - → POST http://localhost:3000/api/auth/login + - user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - content-type: application/json + - content-length: 65 + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/1fcbd74fe24dee6388b780541426c639edc14c88.webm b/playwright-reports/html/data/1fcbd74fe24dee6388b780541426c639edc14c88.webm new file mode 100644 index 0000000..49e0345 Binary files /dev/null and b/playwright-reports/html/data/1fcbd74fe24dee6388b780541426c639edc14c88.webm differ diff --git a/playwright-reports/html/data/203efa55ac7aeeb02acb4df84d4a8a641f0b23aa.md b/playwright-reports/html/data/203efa55ac7aeeb02acb4df84d4a8a641f0b23aa.md new file mode 100644 index 0000000..7b0f05c --- /dev/null +++ b/playwright-reports/html/data/203efa55ac7aeeb02acb4df84d4a8a641f0b23aa.md @@ -0,0 +1,24 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: security.spec.ts >> Security - Authorization >> User cannot access admin endpoints with regular user token +- Location: tests/e2e/security.spec.ts:200:3 + +# Error details + +``` +Error: apiRequestContext.post: connect ECONNREFUSED ::1:3000 +Call log: + - → POST http://localhost:3000/api/auth/login + - user-agent: Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - content-type: application/json + - content-length: 61 + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/216d7d99c1dba7a3f5a89ff2c97220a1ca0a513e.md b/playwright-reports/html/data/216d7d99c1dba7a3f5a89ff2c97220a1ca0a513e.md new file mode 100644 index 0000000..2591469 --- /dev/null +++ b/playwright-reports/html/data/216d7d99c1dba7a3f5a89ff2c97220a1ca0a513e.md @@ -0,0 +1,23 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: security.spec.ts >> Security - Token Handling >> Token with invalid signature is rejected +- Location: tests/e2e/security.spec.ts:274:3 + +# Error details + +``` +Error: apiRequestContext.get: connect ECONNREFUSED ::1:3000 +Call log: + - → GET http://localhost:3000/api/ai/usage + - user-agent: Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwiaWF0IjoxOTk5OTk5OTk5OX0.wronngsignature + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/24d5a86915194471726ebb9579c0ce4bdf75f353.webm b/playwright-reports/html/data/24d5a86915194471726ebb9579c0ce4bdf75f353.webm new file mode 100644 index 0000000..28169d5 Binary files /dev/null and b/playwright-reports/html/data/24d5a86915194471726ebb9579c0ce4bdf75f353.webm differ diff --git a/playwright-reports/html/data/27a75f235c7c6cff89e69a1724e1a0d6a4032019.md b/playwright-reports/html/data/27a75f235c7c6cff89e69a1724e1a0d6a4032019.md new file mode 100644 index 0000000..ea20617 --- /dev/null +++ b/playwright-reports/html/data/27a75f235c7c6cff89e69a1724e1a0d6a4032019.md @@ -0,0 +1,22 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: security.spec.ts >> Security - Authentication >> Protected endpoint rejects request without token +- Location: tests/e2e/security.spec.ts:42:3 + +# Error details + +``` +Error: apiRequestContext.get: connect ECONNREFUSED ::1:3000 +Call log: + - → GET http://localhost:3000/api/ai/usage + - user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/2bb9e70b5df9cda14db7bccb36404f908bdfe2d7.md b/playwright-reports/html/data/2bb9e70b5df9cda14db7bccb36404f908bdfe2d7.md new file mode 100644 index 0000000..2678973 --- /dev/null +++ b/playwright-reports/html/data/2bb9e70b5df9cda14db7bccb36404f908bdfe2d7.md @@ -0,0 +1,24 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: security.spec.ts >> Security - Rate Limiting >> Login rate limits after multiple failed attempts +- Location: tests/e2e/security.spec.ts:73:3 + +# Error details + +``` +Error: apiRequestContext.post: connect ECONNREFUSED ::1:3000 +Call log: + - → POST http://localhost:3000/api/auth/login + - user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - content-type: application/json + - content-length: 76 + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/30dc3bdd2b699405346a2b8d6d0953ddfed88280.md b/playwright-reports/html/data/30dc3bdd2b699405346a2b8d6d0953ddfed88280.md new file mode 100644 index 0000000..72858cb --- /dev/null +++ b/playwright-reports/html/data/30dc3bdd2b699405346a2b8d6d0953ddfed88280.md @@ -0,0 +1,24 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: security.spec.ts >> Security - Response Headers >> API does not leak sensitive information in error responses +- Location: tests/e2e/security.spec.ts:230:3 + +# Error details + +``` +Error: apiRequestContext.post: connect ECONNREFUSED ::1:3000 +Call log: + - → POST http://localhost:3000/api/auth/login + - user-agent: Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - content-type: application/json + - content-length: 55 + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/349260bce55b970764d34c52e3aadd9ed06e6bb4.md b/playwright-reports/html/data/349260bce55b970764d34c52e3aadd9ed06e6bb4.md new file mode 100644 index 0000000..7ec8e33 --- /dev/null +++ b/playwright-reports/html/data/349260bce55b970764d34c52e3aadd9ed06e6bb4.md @@ -0,0 +1,24 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: security.spec.ts >> Security - Authentication >> JWT token is not returned for invalid credentials +- Location: tests/e2e/security.spec.ts:6:3 + +# Error details + +``` +Error: apiRequestContext.post: connect ECONNREFUSED ::1:3000 +Call log: + - → POST http://localhost:3000/api/auth/login + - user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - content-type: application/json + - content-length: 62 + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/3bafe09d2a425af60248fc3d45d05a5551e1fa10.md b/playwright-reports/html/data/3bafe09d2a425af60248fc3d45d05a5551e1fa10.md new file mode 100644 index 0000000..97aebaf --- /dev/null +++ b/playwright-reports/html/data/3bafe09d2a425af60248fc3d45d05a5551e1fa10.md @@ -0,0 +1,24 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: api.spec.ts >> Auth API Endpoints >> POST /auth/login returns token for valid credentials +- Location: tests/e2e/api.spec.ts:182:3 + +# Error details + +``` +Error: apiRequestContext.post: connect ECONNREFUSED ::1:3000 +Call log: + - → POST http://localhost:3000/api/auth/login + - user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - content-type: application/json + - content-length: 61 + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/3fff103345fe4e6ae2d7112dded59a7464f68f4a.md b/playwright-reports/html/data/3fff103345fe4e6ae2d7112dded59a7464f68f4a.md new file mode 100644 index 0000000..1d51598 --- /dev/null +++ b/playwright-reports/html/data/3fff103345fe4e6ae2d7112dded59a7464f68f4a.md @@ -0,0 +1,24 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: api.spec.ts >> AI API Endpoints >> Company AI - Generate Job Field >> POST /ai/generate-job-field returns generated content +- Location: tests/e2e/api.spec.ts:41:5 + +# Error details + +``` +Error: apiRequestContext.post: connect ECONNREFUSED ::1:3000 +Call log: + - → POST http://localhost:3000/api/auth/login + - user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - content-type: application/json + - content-length: 65 + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/4329687e0f6e6c05cb74888c9498fa97da221e19.md b/playwright-reports/html/data/4329687e0f6e6c05cb74888c9498fa97da221e19.md new file mode 100644 index 0000000..a93e890 --- /dev/null +++ b/playwright-reports/html/data/4329687e0f6e6c05cb74888c9498fa97da221e19.md @@ -0,0 +1,23 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: security.spec.ts >> Security - Authentication >> Protected endpoint rejects request with malformed token +- Location: tests/e2e/security.spec.ts:49:3 + +# Error details + +``` +Error: apiRequestContext.get: connect ECONNREFUSED ::1:3000 +Call log: + - → GET http://localhost:3000/api/ai/usage + - user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - Authorization: Bearer invalid.malformed.token + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/433304ff69d838aa70f6274e6bc4b9f4ac95ee02.md b/playwright-reports/html/data/433304ff69d838aa70f6274e6bc4b9f4ac95ee02.md new file mode 100644 index 0000000..3ceff5a --- /dev/null +++ b/playwright-reports/html/data/433304ff69d838aa70f6274e6bc4b9f4ac95ee02.md @@ -0,0 +1,24 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: security.spec.ts >> Security - Authentication >> Login without email returns proper error +- Location: tests/e2e/security.spec.ts:20:3 + +# Error details + +``` +Error: apiRequestContext.post: connect ECONNREFUSED ::1:3000 +Call log: + - → POST http://localhost:3000/api/auth/login + - user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - content-type: application/json + - content-length: 27 + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/433ec107ae011c65a5d8e0b230619139e033c5ad.md b/playwright-reports/html/data/433ec107ae011c65a5d8e0b230619139e033c5ad.md new file mode 100644 index 0000000..7a1cc3c --- /dev/null +++ b/playwright-reports/html/data/433ec107ae011c65a5d8e0b230619139e033c5ad.md @@ -0,0 +1,24 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: security.spec.ts >> Security - Rate Limiting >> Login rate limits after multiple failed attempts +- Location: tests/e2e/security.spec.ts:73:3 + +# Error details + +``` +Error: apiRequestContext.post: connect ECONNREFUSED ::1:3000 +Call log: + - → POST http://localhost:3000/api/auth/login + - user-agent: Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - content-type: application/json + - content-length: 76 + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/454d893103d2da92da2414583ee4d96021d18eae.md b/playwright-reports/html/data/454d893103d2da92da2414583ee4d96021d18eae.md new file mode 100644 index 0000000..613e69f --- /dev/null +++ b/playwright-reports/html/data/454d893103d2da92da2414583ee4d96021d18eae.md @@ -0,0 +1,24 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: security.spec.ts >> Security - Authentication >> Login without password returns proper error +- Location: tests/e2e/security.spec.ts:31:3 + +# Error details + +``` +Error: apiRequestContext.post: connect ECONNREFUSED ::1:3000 +Call log: + - → POST http://localhost:3000/api/auth/login + - user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - content-type: application/json + - content-length: 28 + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/4bb4548304ad4b7e3bc6c05d099ee4faf1b4ecd2.md b/playwright-reports/html/data/4bb4548304ad4b7e3bc6c05d099ee4faf1b4ecd2.md new file mode 100644 index 0000000..0ac57bf --- /dev/null +++ b/playwright-reports/html/data/4bb4548304ad4b7e3bc6c05d099ee4faf1b4ecd2.md @@ -0,0 +1,24 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: security.spec.ts >> Security - Input Validation >> XSS attempt in login email is handled safely +- Location: tests/e2e/security.spec.ts:163:3 + +# Error details + +``` +Error: apiRequestContext.post: connect ECONNREFUSED ::1:3000 +Call log: + - → POST http://localhost:3000/api/auth/login + - user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - content-type: application/json + - content-length: 75 + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/5a0d4d04689ba72eabcd73cfe2e48aeef318df71.md b/playwright-reports/html/data/5a0d4d04689ba72eabcd73cfe2e48aeef318df71.md new file mode 100644 index 0000000..8147c1a --- /dev/null +++ b/playwright-reports/html/data/5a0d4d04689ba72eabcd73cfe2e48aeef318df71.md @@ -0,0 +1,24 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: security.spec.ts >> Security - Response Headers >> API does not leak sensitive information in error responses +- Location: tests/e2e/security.spec.ts:230:3 + +# Error details + +``` +Error: apiRequestContext.post: connect ECONNREFUSED ::1:3000 +Call log: + - → POST http://localhost:3000/api/auth/login + - user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - content-type: application/json + - content-length: 55 + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/5cc9d9d62cbff7d489c9b1c25cfeae1d4c4d3abf.md b/playwright-reports/html/data/5cc9d9d62cbff7d489c9b1c25cfeae1d4c4d3abf.md new file mode 100644 index 0000000..3b97740 --- /dev/null +++ b/playwright-reports/html/data/5cc9d9d62cbff7d489c9b1c25cfeae1d4c4d3abf.md @@ -0,0 +1,22 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: security.spec.ts >> Security - CORS Headers >> CORS headers are present on API responses +- Location: tests/e2e/security.spec.ts:191:3 + +# Error details + +``` +Error: apiRequestContext.get: connect ECONNREFUSED ::1:3000 +Call log: + - → GET http://localhost:3000/api/nonexistent-route + - user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/61580f75bfe0e42a119ef7795079c96b58160034.md b/playwright-reports/html/data/61580f75bfe0e42a119ef7795079c96b58160034.md new file mode 100644 index 0000000..60e7948 --- /dev/null +++ b/playwright-reports/html/data/61580f75bfe0e42a119ef7795079c96b58160034.md @@ -0,0 +1,24 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: security.spec.ts >> Security - Authorization >> User cannot access admin endpoints with regular user token +- Location: tests/e2e/security.spec.ts:200:3 + +# Error details + +``` +Error: apiRequestContext.post: connect ECONNREFUSED ::1:3000 +Call log: + - → POST http://localhost:3000/api/auth/login + - user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - content-type: application/json + - content-length: 61 + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/6b5a98b22612f377b15ec8fa3a0877a588b8e7d0.md b/playwright-reports/html/data/6b5a98b22612f377b15ec8fa3a0877a588b8e7d0.md new file mode 100644 index 0000000..ce74ec6 --- /dev/null +++ b/playwright-reports/html/data/6b5a98b22612f377b15ec8fa3a0877a588b8e7d0.md @@ -0,0 +1,24 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: security.spec.ts >> Security - Authentication >> Login without password returns proper error +- Location: tests/e2e/security.spec.ts:31:3 + +# Error details + +``` +Error: apiRequestContext.post: connect ECONNREFUSED ::1:3000 +Call log: + - → POST http://localhost:3000/api/auth/login + - user-agent: Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - content-type: application/json + - content-length: 28 + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/70f0445f0ccf67a917ab8b0a36f15e738ee88abe.md b/playwright-reports/html/data/70f0445f0ccf67a917ab8b0a36f15e738ee88abe.md new file mode 100644 index 0000000..e6f673d --- /dev/null +++ b/playwright-reports/html/data/70f0445f0ccf67a917ab8b0a36f15e738ee88abe.md @@ -0,0 +1,23 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: security.spec.ts >> Security - Authentication >> Protected endpoint rejects request with malformed token +- Location: tests/e2e/security.spec.ts:49:3 + +# Error details + +``` +Error: apiRequestContext.get: connect ECONNREFUSED ::1:3000 +Call log: + - → GET http://localhost:3000/api/ai/usage + - user-agent: Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - Authorization: Bearer invalid.malformed.token + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/76dd4ddcee69aa44313eaab9e8507d1aa33ef783.md b/playwright-reports/html/data/76dd4ddcee69aa44313eaab9e8507d1aa33ef783.md new file mode 100644 index 0000000..a667bde --- /dev/null +++ b/playwright-reports/html/data/76dd4ddcee69aa44313eaab9e8507d1aa33ef783.md @@ -0,0 +1,22 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: api.spec.ts >> Gateway API >> Gateway returns 404 for unknown routes +- Location: tests/e2e/api.spec.ts:255:3 + +# Error details + +``` +Error: apiRequestContext.get: connect ECONNREFUSED ::1:3000 +Call log: + - → GET http://localhost:3000/api/nonexistent-route + - user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/7dc3bad8e0544ace88c7d46975f6ef75f42313e6.md b/playwright-reports/html/data/7dc3bad8e0544ace88c7d46975f6ef75f42313e6.md new file mode 100644 index 0000000..ea60b80 --- /dev/null +++ b/playwright-reports/html/data/7dc3bad8e0544ace88c7d46975f6ef75f42313e6.md @@ -0,0 +1,24 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: api.spec.ts >> Auth API Endpoints >> POST /auth/login returns 401 for invalid credentials +- Location: tests/e2e/api.spec.ts:202:3 + +# Error details + +``` +Error: apiRequestContext.post: connect ECONNREFUSED ::1:3000 +Call log: + - → POST http://localhost:3000/api/auth/login + - user-agent: Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - content-type: application/json + - content-length: 58 + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/83970aa84141905481132a9341730c3d93412bfd.md b/playwright-reports/html/data/83970aa84141905481132a9341730c3d93412bfd.md new file mode 100644 index 0000000..f8c43aa --- /dev/null +++ b/playwright-reports/html/data/83970aa84141905481132a9341730c3d93412bfd.md @@ -0,0 +1,433 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: accessibility.spec.ts >> Public Frontend Accessibility >> homepage should have no accessibility violations +- Location: tests/e2e/accessibility.spec.ts:5:3 + +# Error details + +``` +Error: expect(received).toEqual(expected) // deep equality + +- Expected - 1 ++ Received + 58 + +- Array [] ++ Array [ ++ Object { ++ "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", ++ "help": "Elements must meet minimum color contrast ratio thresholds", ++ "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/color-contrast?application=playwright", ++ "id": "color-contrast", ++ "impact": "serious", ++ "nodes": Array [ ++ Object { ++ "all": Array [], ++ "any": Array [ ++ Object { ++ "data": Object { ++ "bgColor": "#fd6116", ++ "contrastRatio": 3.04, ++ "expectedContrastRatio": "4.5:1", ++ "fgColor": "#ffffff", ++ "fontSize": "10.5pt (14px)", ++ "fontWeight": "normal", ++ "messageKey": null, ++ }, ++ "id": "color-contrast", ++ "impact": "serious", ++ "message": "Element has insufficient color contrast of 3.04 (foreground color: #ffffff, background color: #fd6116, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1", ++ "relatedNodes": Array [ ++ Object { ++ "html": "", ++ "target": Array [ ++ "button[data-hk=\"00000001000001000000000a1080\"]", ++ ], ++ }, ++ ], ++ }, ++ ], ++ "failureSummary": "Fix any of the following: ++ Element has insufficient color contrast of 3.04 (foreground color: #ffffff, background color: #fd6116, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1", ++ "html": "", ++ "impact": "serious", ++ "none": Array [], ++ "target": Array [ ++ "button[data-hk=\"00000001000001000000000a1080\"]", ++ ], ++ }, ++ ], ++ "tags": Array [ ++ "cat.color", ++ "wcag2aa", ++ "wcag143", ++ "TTv5", ++ "TT13.c", ++ "EN-301-549", ++ "EN-9.1.4.3", ++ "ACT", ++ "RGAAv4", ++ "RGAA-3.2.1", ++ ], ++ }, ++ ] +``` + +# Page snapshot + +```yaml +- generic [ref=e2]: + - main [ref=e3]: + - generic: + - generic: + - generic: + - img + - generic: + - img + - generic: + - img + - generic: + - img + - generic: + - img + - generic [ref=e4]: + - navigation [ref=e6]: + - link "Nxtgauge home" [ref=e7] [cursor=pointer]: + - /url: / + - img "NXTGAUGE" [ref=e8] + - button "Open navigation menu" [ref=e9]: + - generic [ref=e10]: Menu + - generic [ref=e16]: + - generic [ref=e17]: + - heading "Trusted hiring and opportunities, verified." [level=1] [ref=e18] + - paragraph [ref=e19]: Hire trusted professionals, post verified jobs, and apply faster in one platform. + - generic [ref=e20]: + - link "Get Started" [ref=e21] [cursor=pointer]: + - /url: /signup/customer + - link "How It Works" [ref=e22] [cursor=pointer]: + - /url: /#how-it-works + - paragraph [ref=e23]: Most profile and listing reviews are completed within 24-48 hours. + - region "Nxtgauge opportunity graph preview" [ref=e25]: + - generic [ref=e26]: + - generic [ref=e27]: + - img [ref=e28] + - generic [ref=e45]: Developer + - generic [ref=e46]: Tutor + - generic [ref=e47]: Photographer + - generic [ref=e48]: + - generic [ref=e49]: + - generic [ref=e50]: ✓ + - generic [ref=e51]: Everything from Nxtgauge + - paragraph [ref=e52]: Opportunity Workspace + - generic [ref=e53]: + - strong [ref=e54]: Verified Profiles + - generic [ref=e55]: Trust layer ready + - generic [ref=e56]: + - strong [ref=e57]: Matched Opportunities + - generic [ref=e58]: Priority queue + - generic [ref=e59]: + - strong [ref=e60]: Responses + - generic [ref=e61]: Tracked in one flow + - generic [ref=e62]: + - strong [ref=e63]: Updates + - generic [ref=e64]: Live status signals + - paragraph [ref=e66]: Opportunities start scattered + - generic [ref=e68]: + - generic [ref=e70]: + - heading "Who Nxtgauge is for" [level=2] [ref=e71] + - paragraph [ref=e72]: Start with one account, then activate the journey you need. + - generic [ref=e73]: + - article [ref=e74]: + - img "Post a Job" [ref=e76] + - generic [ref=e78]: + - generic [ref=e79]: + - img [ref=e81] + - generic [ref=e85]: + - img [ref=e86] + - text: Company + - heading "Post a Job" [level=3] [ref=e89] + - paragraph [ref=e90]: Create verified job openings and find the right talent faster. + - link "Explore Company" [ref=e91] [cursor=pointer]: + - /url: /roles/company + - article [ref=e92]: + - img "Apply for Jobs" [ref=e94] + - generic [ref=e96]: + - generic [ref=e97]: + - img [ref=e99] + - generic [ref=e102]: + - img [ref=e103] + - text: Job Seeker + - heading "Apply for Jobs" [level=3] [ref=e106] + - paragraph [ref=e107]: Build your profile and apply to approved opportunities quickly. + - link "Explore Job Seeker" [ref=e108] [cursor=pointer]: + - /url: /roles/job-seeker + - article [ref=e109]: + - img "Hire a Professional" [ref=e111] + - generic [ref=e113]: + - generic [ref=e114]: + - img [ref=e116] + - generic [ref=e121]: + - img [ref=e122] + - text: Customer + - heading "Hire a Professional" [level=3] [ref=e125] + - paragraph [ref=e126]: Post your requirement and discover trusted specialists. + - link "Explore Customer" [ref=e127] [cursor=pointer]: + - /url: /roles/customer + - article [ref=e128]: + - img "Join as Professional" [ref=e130] + - generic [ref=e132]: + - generic [ref=e133]: + - img [ref=e135] + - generic [ref=e139]: + - img [ref=e140] + - text: Professional + - heading "Join as Professional" [level=3] [ref=e143] + - paragraph [ref=e144]: Create a trusted profile and grow through verified demand. + - link "Explore Professionals" [ref=e145] [cursor=pointer]: + - /url: /professionals + - generic [ref=e147]: + - generic [ref=e148]: + - heading "Explore professional categories" [level=2] [ref=e150] + - link "View all professionals" [ref=e151] [cursor=pointer]: + - /url: /professionals + - generic [ref=e152]: + - button "All" [ref=e153] [cursor=pointer] + - button "Creative" [ref=e154] [cursor=pointer] + - button "Tech" [ref=e155] [cursor=pointer] + - button "Education" [ref=e156] [cursor=pointer] + - button "Wellness" [ref=e157] [cursor=pointer] + - button "Events" [ref=e158] [cursor=pointer] + - button "Marketing" [ref=e159] [cursor=pointer] + - generic [ref=e160]: + - article [ref=e161]: + - img "Developer" [ref=e163] + - generic [ref=e165]: + - generic [ref=e167]: tech + - heading "Developer" [level=3] [ref=e168] + - paragraph [ref=e169]: Join Nxtgauge as a Developer and connect with customers and companies through a trust-first workflow. + - generic [ref=e170]: + - link "Explore Developer" [ref=e171] [cursor=pointer]: + - /url: /professionals/developer + - link "Join Developer" [ref=e172] [cursor=pointer]: + - /url: /signup?intent=professional&role=DEVELOPER + - article [ref=e173]: + - img "Photographer" [ref=e175] + - generic [ref=e177]: + - generic [ref=e179]: creative + - heading "Photographer" [level=3] [ref=e180] + - paragraph [ref=e181]: Join as a Photographer and receive opportunities where trust and profile quality matter. + - generic [ref=e182]: + - link "Explore Photographer" [ref=e183] [cursor=pointer]: + - /url: /professionals/photographer + - link "Join Photographer" [ref=e184] [cursor=pointer]: + - /url: /signup?intent=professional&role=PHOTOGRAPHER + - article [ref=e185]: + - img "Makeup Artist" [ref=e187] + - generic [ref=e189]: + - generic [ref=e191]: creative + - heading "Makeup Artist" [level=3] [ref=e192] + - paragraph [ref=e193]: Join Nxtgauge as a Makeup Artist and connect with verified requirements from customers and event planners. + - generic [ref=e194]: + - link "Explore Makeup Artist" [ref=e195] [cursor=pointer]: + - /url: /professionals/makeup-artist + - link "Join Makeup Artist" [ref=e196] [cursor=pointer]: + - /url: /signup?intent=professional&role=MAKEUP_ARTIST + - article [ref=e197]: + - img "Tutor" [ref=e199] + - generic [ref=e201]: + - generic [ref=e203]: education + - heading "Tutor" [level=3] [ref=e204] + - paragraph [ref=e205]: Join as a Tutor to receive verified educational requirements and present your profile with confidence. + - generic [ref=e206]: + - link "Explore Tutor" [ref=e207] [cursor=pointer]: + - /url: /professionals/tutor + - link "Join Tutor" [ref=e208] [cursor=pointer]: + - /url: /signup?intent=professional&role=TUTOR + - article [ref=e209]: + - img "Video Editor" [ref=e211] + - generic [ref=e213]: + - generic [ref=e215]: creative + - heading "Video Editor" [level=3] [ref=e216] + - paragraph [ref=e217]: Join as a Video Editor and connect with customers and companies through a review-based trust model. + - generic [ref=e218]: + - link "Explore Video Editor" [ref=e219] [cursor=pointer]: + - /url: /professionals/video-editor + - link "Join Video Editor" [ref=e220] [cursor=pointer]: + - /url: /signup?intent=professional&role=VIDEO_EDITOR + - article [ref=e221]: + - img "Graphic Designer" [ref=e223] + - generic [ref=e225]: + - generic [ref=e227]: creative + - heading "Graphic Designer" [level=3] [ref=e228] + - paragraph [ref=e229]: Join as a Graphic Designer to connect with verified requirements and role-relevant opportunities. + - generic [ref=e230]: + - link "Explore Graphic Designer" [ref=e231] [cursor=pointer]: + - /url: /professionals/graphic-designer + - link "Join Graphic Designer" [ref=e232] [cursor=pointer]: + - /url: /signup?intent=professional&role=GRAPHIC_DESIGNER + - article [ref=e233]: + - img "Social Media Manager" [ref=e235] + - generic [ref=e237]: + - generic [ref=e239]: marketing + - heading "Social Media Manager" [level=3] [ref=e240] + - paragraph [ref=e241]: Join as a Social Media Manager and grow with trusted customer and company requirements. + - generic [ref=e242]: + - link "Explore Social Media Manager" [ref=e243] [cursor=pointer]: + - /url: /professionals/social-media-manager + - link "Join Social Media Manager" [ref=e244] [cursor=pointer]: + - /url: /signup?intent=professional&role=SOCIAL_MEDIA_MANAGER + - article [ref=e245]: + - img "Fitness Trainer" [ref=e247] + - generic [ref=e249]: + - generic [ref=e251]: wellness + - heading "Fitness Trainer" [level=3] [ref=e252] + - paragraph [ref=e253]: Join as a Fitness Trainer and grow through profile-led visibility in a trust-first marketplace. + - generic [ref=e254]: + - link "Explore Fitness Trainer" [ref=e255] [cursor=pointer]: + - /url: /professionals/fitness-trainer + - link "Join Fitness Trainer" [ref=e256] [cursor=pointer]: + - /url: /signup?intent=professional&role=FITNESS_TRAINER + - generic [ref=e258]: + - generic [ref=e259]: + - paragraph [ref=e260]: Why Nxtgauge + - heading "Trust, approvals, and better matching in one flow." [level=2] [ref=e261] + - generic [ref=e262]: + - article [ref=e263]: + - generic [ref=e265]: + - paragraph [ref=e266]: Capability 1 of 6 + - img [ref=e268] + - heading "Verified profiles & businesses" [level=3] [ref=e271] + - paragraph [ref=e272]: Identity and profile checks reduce fake submissions and spam. + - generic [ref=e274]: + - button "Show Verified profiles & businesses" [ref=e275]: + - img [ref=e276] + - button "Show Approval-based quality (24-48 hours)" [ref=e279]: + - img [ref=e280] + - button "Show Smart matching using tags/skills" [ref=e282]: + - img [ref=e283] + - button "Show Focused discovery with filters" [ref=e285]: + - img [ref=e286] + - button "Show Controlled contact visibility" [ref=e289]: + - img [ref=e290] + - button "Show Notifications & updates" [ref=e293]: + - img [ref=e294] + - generic [ref=e297]: + - button "Previous slide" [ref=e298]: ◀ + - button "Next slide" [ref=e299]: ▶ + - generic [ref=e301]: + - generic [ref=e302]: + - paragraph [ref=e303]: How it works + - heading "Clear journey, zero confusion" [level=2] [ref=e304] + - article [ref=e305]: + - generic [ref=e306]: + - img "Customers role" [ref=e308] + - generic [ref=e309]: + - paragraph [ref=e310]: Customers + - heading "Hire trusted professionals with less noise" [level=3] [ref=e311] + - paragraph [ref=e312]: Post requirements, pass review checks, and receive better-fit responses. + - generic [ref=e313]: + - paragraph [ref=e314]: Step Flow + - generic [ref=e315]: + - generic [ref=e316]: + - generic [ref=e317]: "1" + - generic [ref=e318]: + - heading "Create account" [level=4] [ref=e319] + - paragraph [ref=e320]: Sign up quickly with customer intent. + - generic [ref=e321]: + - generic [ref=e322]: "2" + - generic [ref=e323]: + - heading "Share requirement" [level=4] [ref=e324] + - paragraph [ref=e325]: Add budget, scope, and timing. + - generic [ref=e326]: + - generic [ref=e327]: "3" + - generic [ref=e328]: + - heading "Review and verify" [level=4] [ref=e329] + - paragraph [ref=e330]: Quality checks run before visibility. + - generic [ref=e331]: + - generic [ref=e332]: "4" + - generic [ref=e333]: + - heading "Track responses" [level=4] [ref=e334] + - paragraph [ref=e335]: Monitor replies and status updates. + - generic [ref=e337]: + - button "Previous role" [ref=e338]: ← + - button "Next role" [ref=e339]: → + - generic [ref=e346]: + - heading "Frequently asked questions" [level=2] [ref=e347] + - paragraph [ref=e348]: Quick answers before you create your account. + - generic [ref=e349]: + - article [ref=e350]: + - button "What is Nxtgauge? ⌄" [ref=e351] [cursor=pointer]: + - generic [ref=e352]: What is Nxtgauge? + - generic [ref=e353]: ⌄ + - paragraph [ref=e354]: Nxtgauge connects customers, professionals, companies, and job seekers in one trusted platform. + - article [ref=e355]: + - button "Who can join Nxtgauge? ⌄" [ref=e356] [cursor=pointer]: + - generic [ref=e357]: Who can join Nxtgauge? + - generic [ref=e358]: ⌄ + - article [ref=e359]: + - button "Why does Nxtgauge require verification? ⌄" [ref=e360] [cursor=pointer]: + - generic [ref=e361]: Why does Nxtgauge require verification? + - generic [ref=e362]: ⌄ + - article [ref=e363]: + - button "How long does account approval take? ⌄" [ref=e364] [cursor=pointer]: + - generic [ref=e365]: How long does account approval take? + - generic [ref=e366]: ⌄ + - article [ref=e367]: + - button "Do I need to choose my role during signup? ⌄" [ref=e368] [cursor=pointer]: + - generic [ref=e369]: Do I need to choose my role during signup? + - generic [ref=e370]: ⌄ + - generic [ref=e372]: + - generic [ref=e373]: + - paragraph [ref=e374]: Quick Actions + - heading "Start with one account. Choose your path after." [level=2] [ref=e375] + - paragraph [ref=e376]: Hire, post, apply, or join as a professional from stable role-specific pages. + - generic [ref=e377]: + - link "Get Started" [ref=e378] [cursor=pointer]: + - /url: /signup/customer + - link "Explore Professionals" [ref=e379] [cursor=pointer]: + - /url: /professionals + - link "Post a Job" [ref=e380] [cursor=pointer]: + - /url: /signup/company + - generic [ref=e382]: + - img "NXTGAUGE" [ref=e383] + - paragraph [ref=e384]: © 2026 Nxtgauge. All rights reserved. + - generic [ref=e385]: + - link "Professionals" [ref=e386] [cursor=pointer]: + - /url: /professionals + - link "Terms" [ref=e387] [cursor=pointer]: + - /url: /terms + - link "Privacy" [ref=e388] [cursor=pointer]: + - /url: /privacy + - link "Help Center" [ref=e389] [cursor=pointer]: + - /url: /help-center + - button "AI Assistant" [ref=e390] [cursor=pointer]: + - img [ref=e391] +``` + +# Test source + +```ts + 1 | import { test, expect } from "@playwright/test"; + 2 | import AxeBuilder from "@axe-core/playwright"; + 3 | + 4 | test.describe("Public Frontend Accessibility", () => { + 5 | test("homepage should have no accessibility violations", async ({ page }) => { + 6 | await page.goto("/"); + 7 | const results = await new AxeBuilder({ page }).analyze(); +> 8 | expect(results.violations).toEqual([]); + | ^ Error: expect(received).toEqual(expected) // deep equality + 9 | }); + 10 | + 11 | test("professionals listing page should be accessible", async ({ page }) => { + 12 | await page.goto("/professionals"); + 13 | const results = await new AxeBuilder({ page }).analyze(); + 14 | expect(results.violations).toEqual([]); + 15 | }); + 16 | }); + 17 | +``` \ No newline at end of file diff --git a/playwright-reports/html/data/8b0ba6a85698d00d26816f25ffc2016d673ee525.md b/playwright-reports/html/data/8b0ba6a85698d00d26816f25ffc2016d673ee525.md new file mode 100644 index 0000000..ae74116 --- /dev/null +++ b/playwright-reports/html/data/8b0ba6a85698d00d26816f25ffc2016d673ee525.md @@ -0,0 +1,24 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: api.spec.ts >> AI API Endpoints >> Company AI - Generate Job Field >> POST /ai/generate-job-field returns generated content +- Location: tests/e2e/api.spec.ts:41:5 + +# Error details + +``` +Error: apiRequestContext.post: connect ECONNREFUSED ::1:3000 +Call log: + - → POST http://localhost:3000/api/auth/login + - user-agent: Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - content-type: application/json + - content-length: 65 + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/93d0ae7967a30d546d9ef9a30b8d0717323a046b.md b/playwright-reports/html/data/93d0ae7967a30d546d9ef9a30b8d0717323a046b.md new file mode 100644 index 0000000..b0dafbd --- /dev/null +++ b/playwright-reports/html/data/93d0ae7967a30d546d9ef9a30b8d0717323a046b.md @@ -0,0 +1,24 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: api.spec.ts >> Auth API Endpoints >> POST /auth/login rate limits after too many attempts +- Location: tests/e2e/api.spec.ts:215:3 + +# Error details + +``` +Error: apiRequestContext.post: connect ECONNREFUSED ::1:3000 +Call log: + - → POST http://localhost:3000/api/auth/login + - user-agent: Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - content-type: application/json + - content-length: 65 + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/944a1c0a201049549ee4d1defb34c36d1928b32e.md b/playwright-reports/html/data/944a1c0a201049549ee4d1defb34c36d1928b32e.md new file mode 100644 index 0000000..a06887a --- /dev/null +++ b/playwright-reports/html/data/944a1c0a201049549ee4d1defb34c36d1928b32e.md @@ -0,0 +1,24 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: api.spec.ts >> Auth API Endpoints >> POST /auth/login returns token for valid credentials +- Location: tests/e2e/api.spec.ts:182:3 + +# Error details + +``` +Error: apiRequestContext.post: connect ECONNREFUSED ::1:3000 +Call log: + - → POST http://localhost:3000/api/auth/login + - user-agent: Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - content-type: application/json + - content-length: 61 + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/9b6f5347abef16bfd786a8e0614f285c3fa04de8.md b/playwright-reports/html/data/9b6f5347abef16bfd786a8e0614f285c3fa04de8.md new file mode 100644 index 0000000..3283245 --- /dev/null +++ b/playwright-reports/html/data/9b6f5347abef16bfd786a8e0614f285c3fa04de8.md @@ -0,0 +1,23 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: security.spec.ts >> Security - Token Handling >> Expired token is rejected +- Location: tests/e2e/security.spec.ts:262:3 + +# Error details + +``` +Error: apiRequestContext.get: connect ECONNREFUSED ::1:3000 +Call log: + - → GET http://localhost:3000/api/ai/usage + - user-agent: Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwiZXhwIjoxNjAwMDAwMDAwfQ.dummysignature + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/9c4de630bf48b7ece7d902d260a13d9db3ab9ff6.md b/playwright-reports/html/data/9c4de630bf48b7ece7d902d260a13d9db3ab9ff6.md new file mode 100644 index 0000000..ab9d947 --- /dev/null +++ b/playwright-reports/html/data/9c4de630bf48b7ece7d902d260a13d9db3ab9ff6.md @@ -0,0 +1,24 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: api.spec.ts >> AI API Endpoints >> Company AI - Generate Job Field >> POST /ai/generate-job-field rate limits after daily quota +- Location: tests/e2e/api.spec.ts:91:5 + +# Error details + +``` +Error: apiRequestContext.post: connect ECONNREFUSED ::1:3000 +Call log: + - → POST http://localhost:3000/api/auth/login + - user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - content-type: application/json + - content-length: 65 + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/9d584d87128a07c6303af40cc2f3bb1e1be01989.md b/playwright-reports/html/data/9d584d87128a07c6303af40cc2f3bb1e1be01989.md new file mode 100644 index 0000000..4cb2d4d --- /dev/null +++ b/playwright-reports/html/data/9d584d87128a07c6303af40cc2f3bb1e1be01989.md @@ -0,0 +1,24 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: security.spec.ts >> Security - Authentication >> JWT token is not returned for invalid credentials +- Location: tests/e2e/security.spec.ts:6:3 + +# Error details + +``` +Error: apiRequestContext.post: connect ECONNREFUSED ::1:3000 +Call log: + - → POST http://localhost:3000/api/auth/login + - user-agent: Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - content-type: application/json + - content-length: 62 + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/a019d07c0d87598717d7e27edf94737ba8c29e92.md b/playwright-reports/html/data/a019d07c0d87598717d7e27edf94737ba8c29e92.md new file mode 100644 index 0000000..4eeb42a --- /dev/null +++ b/playwright-reports/html/data/a019d07c0d87598717d7e27edf94737ba8c29e92.md @@ -0,0 +1,24 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: api.spec.ts >> AI API Endpoints >> AI Usage Endpoint >> GET /ai/usage returns usage stats for company +- Location: tests/e2e/api.spec.ts:144:5 + +# Error details + +``` +Error: apiRequestContext.post: connect ECONNREFUSED ::1:3000 +Call log: + - → POST http://localhost:3000/api/auth/login + - user-agent: Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - content-type: application/json + - content-length: 65 + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/a414f4178718fedadb56c714fa10233bbef71c51.png b/playwright-reports/html/data/a414f4178718fedadb56c714fa10233bbef71c51.png new file mode 100644 index 0000000..70459e9 Binary files /dev/null and b/playwright-reports/html/data/a414f4178718fedadb56c714fa10233bbef71c51.png differ diff --git a/playwright-reports/html/data/ad1c0adc3acdce2b311e2e7b21e93ad2233f1d94.md b/playwright-reports/html/data/ad1c0adc3acdce2b311e2e7b21e93ad2233f1d94.md new file mode 100644 index 0000000..68a7506 --- /dev/null +++ b/playwright-reports/html/data/ad1c0adc3acdce2b311e2e7b21e93ad2233f1d94.md @@ -0,0 +1,24 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: security.spec.ts >> Security - Input Validation >> Very long input is handled without crash +- Location: tests/e2e/security.spec.ts:175:3 + +# Error details + +``` +Error: apiRequestContext.post: connect ECONNREFUSED ::1:3000 +Call log: + - → POST http://localhost:3000/api/auth/login + - user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - content-type: application/json + - content-length: 20038 + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/ad5ed732feb82425e8df8acb2002071a774c0a11.md b/playwright-reports/html/data/ad5ed732feb82425e8df8acb2002071a774c0a11.md new file mode 100644 index 0000000..75551af --- /dev/null +++ b/playwright-reports/html/data/ad5ed732feb82425e8df8acb2002071a774c0a11.md @@ -0,0 +1,24 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: security.spec.ts >> Security - Input Validation >> SQL injection in login email is handled safely +- Location: tests/e2e/security.spec.ts:149:3 + +# Error details + +``` +Error: apiRequestContext.post: connect ECONNREFUSED ::1:3000 +Call log: + - → POST http://localhost:3000/api/auth/login + - user-agent: Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - content-type: application/json + - content-length: 45 + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/b4fa704806a42ae5abf765b58b255a2799760289.md b/playwright-reports/html/data/b4fa704806a42ae5abf765b58b255a2799760289.md new file mode 100644 index 0000000..498a1b2 --- /dev/null +++ b/playwright-reports/html/data/b4fa704806a42ae5abf765b58b255a2799760289.md @@ -0,0 +1,24 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: api.spec.ts >> Auth API Endpoints >> POST /auth/login returns 401 for invalid credentials +- Location: tests/e2e/api.spec.ts:202:3 + +# Error details + +``` +Error: apiRequestContext.post: connect ECONNREFUSED ::1:3000 +Call log: + - → POST http://localhost:3000/api/auth/login + - user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - content-type: application/json + - content-length: 58 + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/b983a333ccc99199f8dc359e5f80e14e55037db0.md b/playwright-reports/html/data/b983a333ccc99199f8dc359e5f80e14e55037db0.md new file mode 100644 index 0000000..138fc8c --- /dev/null +++ b/playwright-reports/html/data/b983a333ccc99199f8dc359e5f80e14e55037db0.md @@ -0,0 +1,22 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: api.spec.ts >> Gateway API >> Gateway returns 404 for unknown routes +- Location: tests/e2e/api.spec.ts:255:3 + +# Error details + +``` +Error: apiRequestContext.get: connect ECONNREFUSED ::1:3000 +Call log: + - → GET http://localhost:3000/api/nonexistent-route + - user-agent: Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/bf1a7466d9c8bde95533d72167cb2b1c6f95818e.md b/playwright-reports/html/data/bf1a7466d9c8bde95533d72167cb2b1c6f95818e.md new file mode 100644 index 0000000..6cb1ecc --- /dev/null +++ b/playwright-reports/html/data/bf1a7466d9c8bde95533d72167cb2b1c6f95818e.md @@ -0,0 +1,24 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: security.spec.ts >> Security - Input Validation >> Very long input is handled without crash +- Location: tests/e2e/security.spec.ts:175:3 + +# Error details + +``` +Error: apiRequestContext.post: connect ECONNREFUSED ::1:3000 +Call log: + - → POST http://localhost:3000/api/auth/login + - user-agent: Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - content-type: application/json + - content-length: 20038 + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/c24b23b0edd98a62d69666129d18c11f70d2a8ef.md b/playwright-reports/html/data/c24b23b0edd98a62d69666129d18c11f70d2a8ef.md new file mode 100644 index 0000000..cf75666 --- /dev/null +++ b/playwright-reports/html/data/c24b23b0edd98a62d69666129d18c11f70d2a8ef.md @@ -0,0 +1,23 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: security.spec.ts >> Security - Token Handling >> Expired token is rejected +- Location: tests/e2e/security.spec.ts:262:3 + +# Error details + +``` +Error: apiRequestContext.get: connect ECONNREFUSED ::1:3000 +Call log: + - → GET http://localhost:3000/api/ai/usage + - user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwiZXhwIjoxNjAwMDAwMDAwfQ.dummysignature + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/c61f20f315397a51e6d5ef9e7fe853d01daf5740.webm b/playwright-reports/html/data/c61f20f315397a51e6d5ef9e7fe853d01daf5740.webm new file mode 100644 index 0000000..2fb4edc Binary files /dev/null and b/playwright-reports/html/data/c61f20f315397a51e6d5ef9e7fe853d01daf5740.webm differ diff --git a/playwright-reports/html/data/d1c052738280b98b85a822b1c24e89000f917263.md b/playwright-reports/html/data/d1c052738280b98b85a822b1c24e89000f917263.md new file mode 100644 index 0000000..1b8fd5f --- /dev/null +++ b/playwright-reports/html/data/d1c052738280b98b85a822b1c24e89000f917263.md @@ -0,0 +1,24 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: security.spec.ts >> Security - Rate Limiting >> AI endpoints rate limit after daily quota exceeded +- Location: tests/e2e/security.spec.ts:108:3 + +# Error details + +``` +Error: apiRequestContext.post: connect ECONNREFUSED ::1:3000 +Call log: + - → POST http://localhost:3000/api/auth/login + - user-agent: Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - content-type: application/json + - content-length: 65 + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/d3a2b8d6fd240feebf8dd288c7ab54480c4f6c3c.md b/playwright-reports/html/data/d3a2b8d6fd240feebf8dd288c7ab54480c4f6c3c.md new file mode 100644 index 0000000..dd94e67 --- /dev/null +++ b/playwright-reports/html/data/d3a2b8d6fd240feebf8dd288c7ab54480c4f6c3c.md @@ -0,0 +1,22 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: security.spec.ts >> Security - Authentication >> Protected endpoint rejects request without token +- Location: tests/e2e/security.spec.ts:42:3 + +# Error details + +``` +Error: apiRequestContext.get: connect ECONNREFUSED ::1:3000 +Call log: + - → GET http://localhost:3000/api/ai/usage + - user-agent: Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/d4abb98a0fa953a2a1c0a620b282a6b485b14ffa.png b/playwright-reports/html/data/d4abb98a0fa953a2a1c0a620b282a6b485b14ffa.png new file mode 100644 index 0000000..bdb2da6 Binary files /dev/null and b/playwright-reports/html/data/d4abb98a0fa953a2a1c0a620b282a6b485b14ffa.png differ diff --git a/playwright-reports/html/data/d5e2143fadeeb80a2ba6a13b44dc2f885bed52e8.webm b/playwright-reports/html/data/d5e2143fadeeb80a2ba6a13b44dc2f885bed52e8.webm new file mode 100644 index 0000000..efb3991 Binary files /dev/null and b/playwright-reports/html/data/d5e2143fadeeb80a2ba6a13b44dc2f885bed52e8.webm differ diff --git a/playwright-reports/html/data/dbe7713931491e0cd0e13e87e054626096f94b42.md b/playwright-reports/html/data/dbe7713931491e0cd0e13e87e054626096f94b42.md new file mode 100644 index 0000000..f31f6b3 --- /dev/null +++ b/playwright-reports/html/data/dbe7713931491e0cd0e13e87e054626096f94b42.md @@ -0,0 +1,22 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: security.spec.ts >> Security - Response Headers >> API error responses do not expose server internals +- Location: tests/e2e/security.spec.ts:248:3 + +# Error details + +``` +Error: apiRequestContext.get: connect ECONNREFUSED ::1:3000 +Call log: + - → GET http://localhost:3000/api/api/nonexistent + - user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/e2b61759d862ca7a398cda1bc6334e81853f0226.md b/playwright-reports/html/data/e2b61759d862ca7a398cda1bc6334e81853f0226.md new file mode 100644 index 0000000..9de40b9 --- /dev/null +++ b/playwright-reports/html/data/e2b61759d862ca7a398cda1bc6334e81853f0226.md @@ -0,0 +1,24 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: security.spec.ts >> Security - Input Validation >> SQL injection in login email is handled safely +- Location: tests/e2e/security.spec.ts:149:3 + +# Error details + +``` +Error: apiRequestContext.post: connect ECONNREFUSED ::1:3000 +Call log: + - → POST http://localhost:3000/api/auth/login + - user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - content-type: application/json + - content-length: 45 + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/ed24922c377dc98065c87c05ed7096fb5e1a16c2.md b/playwright-reports/html/data/ed24922c377dc98065c87c05ed7096fb5e1a16c2.md new file mode 100644 index 0000000..738028b --- /dev/null +++ b/playwright-reports/html/data/ed24922c377dc98065c87c05ed7096fb5e1a16c2.md @@ -0,0 +1,24 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: api.spec.ts >> Auth API Endpoints >> POST /auth/login rate limits after too many attempts +- Location: tests/e2e/api.spec.ts:215:3 + +# Error details + +``` +Error: apiRequestContext.post: connect ECONNREFUSED ::1:3000 +Call log: + - → POST http://localhost:3000/api/auth/login + - user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - content-type: application/json + - content-length: 65 + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/edc2a5b47bfb1d71845769f50bcef7543b186b6a.md b/playwright-reports/html/data/edc2a5b47bfb1d71845769f50bcef7543b186b6a.md new file mode 100644 index 0000000..ce9f3f8 --- /dev/null +++ b/playwright-reports/html/data/edc2a5b47bfb1d71845769f50bcef7543b186b6a.md @@ -0,0 +1,23 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: api.spec.ts >> Gateway API >> Gateway routes /api/ai/* to users service +- Location: tests/e2e/api.spec.ts:240:3 + +# Error details + +``` +Error: apiRequestContext.get: connect ECONNREFUSED ::1:3000 +Call log: + - → GET http://localhost:3000/api/ai/usage + - user-agent: Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - Authorization: Bearer dummy + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/edf29051f2ade785c8a5d06183288d2a993f4662.md b/playwright-reports/html/data/edf29051f2ade785c8a5d06183288d2a993f4662.md new file mode 100644 index 0000000..1b2d773 --- /dev/null +++ b/playwright-reports/html/data/edf29051f2ade785c8a5d06183288d2a993f4662.md @@ -0,0 +1,24 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: api.spec.ts >> AI API Endpoints >> Company AI - Generate Job Field >> POST /ai/generate-job-field rate limits after daily quota +- Location: tests/e2e/api.spec.ts:91:5 + +# Error details + +``` +Error: apiRequestContext.post: connect ECONNREFUSED ::1:3000 +Call log: + - → POST http://localhost:3000/api/auth/login + - user-agent: Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - content-type: application/json + - content-length: 65 + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/eebce2ea34e3cc55eb49412e03b7d1eae96af1de.md b/playwright-reports/html/data/eebce2ea34e3cc55eb49412e03b7d1eae96af1de.md new file mode 100644 index 0000000..c75aabc --- /dev/null +++ b/playwright-reports/html/data/eebce2ea34e3cc55eb49412e03b7d1eae96af1de.md @@ -0,0 +1,24 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: security.spec.ts >> Security - Authentication >> Login without email returns proper error +- Location: tests/e2e/security.spec.ts:20:3 + +# Error details + +``` +Error: apiRequestContext.post: connect ECONNREFUSED ::1:3000 +Call log: + - → POST http://localhost:3000/api/auth/login + - user-agent: Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - content-type: application/json + - content-length: 27 + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/f393c21e7b2fbfd80c17dbe7eac9aa52f30a10a7.md b/playwright-reports/html/data/f393c21e7b2fbfd80c17dbe7eac9aa52f30a10a7.md new file mode 100644 index 0000000..f9e8ffb --- /dev/null +++ b/playwright-reports/html/data/f393c21e7b2fbfd80c17dbe7eac9aa52f30a10a7.md @@ -0,0 +1,23 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: security.spec.ts >> Security - Authentication >> Protected endpoint rejects request with empty Bearer token +- Location: tests/e2e/security.spec.ts:60:3 + +# Error details + +``` +Error: apiRequestContext.get: connect ECONNREFUSED ::1:3000 +Call log: + - → GET http://localhost:3000/api/ai/usage + - user-agent: Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - Authorization: Bearer + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/fa1a5cb77246728c47633b88397169ac791b4b2c.md b/playwright-reports/html/data/fa1a5cb77246728c47633b88397169ac791b4b2c.md new file mode 100644 index 0000000..e204c9f --- /dev/null +++ b/playwright-reports/html/data/fa1a5cb77246728c47633b88397169ac791b4b2c.md @@ -0,0 +1,23 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: security.spec.ts >> Security - Authentication >> Protected endpoint rejects request with empty Bearer token +- Location: tests/e2e/security.spec.ts:60:3 + +# Error details + +``` +Error: apiRequestContext.get: connect ECONNREFUSED ::1:3000 +Call log: + - → GET http://localhost:3000/api/ai/usage + - user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + - Authorization: Bearer + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/fbca0efdf5b201e7993e209c4d950fd21c7d2865.md b/playwright-reports/html/data/fbca0efdf5b201e7993e209c4d950fd21c7d2865.md new file mode 100644 index 0000000..d764e3c --- /dev/null +++ b/playwright-reports/html/data/fbca0efdf5b201e7993e209c4d950fd21c7d2865.md @@ -0,0 +1,22 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: security.spec.ts >> Security - Response Headers >> API error responses do not expose server internals +- Location: tests/e2e/security.spec.ts:248:3 + +# Error details + +``` +Error: apiRequestContext.get: connect ECONNREFUSED ::1:3000 +Call log: + - → GET http://localhost:3000/api/api/nonexistent + - user-agent: Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36 + - accept: */* + - accept-encoding: gzip,deflate,br + +``` \ No newline at end of file diff --git a/playwright-reports/html/data/fe5c78020a2eaf74673c87f209438ff9cd840f1f.md b/playwright-reports/html/data/fe5c78020a2eaf74673c87f209438ff9cd840f1f.md new file mode 100644 index 0000000..6467157 --- /dev/null +++ b/playwright-reports/html/data/fe5c78020a2eaf74673c87f209438ff9cd840f1f.md @@ -0,0 +1,442 @@ +# Instructions + +- Following Playwright test failed. +- Explain why, be concise, respect Playwright best practices. +- Provide a snippet of code with the fix, if possible. + +# Test info + +- Name: accessibility.spec.ts >> Public Frontend Accessibility >> homepage should have no accessibility violations +- Location: tests/e2e/accessibility.spec.ts:5:3 + +# Error details + +``` +Error: expect(received).toEqual(expected) // deep equality + +- Expected - 1 ++ Received + 58 + +- Array [] ++ Array [ ++ Object { ++ "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", ++ "help": "Elements must meet minimum color contrast ratio thresholds", ++ "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/color-contrast?application=playwright", ++ "id": "color-contrast", ++ "impact": "serious", ++ "nodes": Array [ ++ Object { ++ "all": Array [], ++ "any": Array [ ++ Object { ++ "data": Object { ++ "bgColor": "#fd6116", ++ "contrastRatio": 3.04, ++ "expectedContrastRatio": "4.5:1", ++ "fgColor": "#ffffff", ++ "fontSize": "10.5pt (14px)", ++ "fontWeight": "normal", ++ "messageKey": null, ++ }, ++ "id": "color-contrast", ++ "impact": "serious", ++ "message": "Element has insufficient color contrast of 3.04 (foreground color: #ffffff, background color: #fd6116, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1", ++ "relatedNodes": Array [ ++ Object { ++ "html": "", ++ "target": Array [ ++ "button[data-hk=\"00000001000001000000000a1080\"]", ++ ], ++ }, ++ ], ++ }, ++ ], ++ "failureSummary": "Fix any of the following: ++ Element has insufficient color contrast of 3.04 (foreground color: #ffffff, background color: #fd6116, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1", ++ "html": "", ++ "impact": "serious", ++ "none": Array [], ++ "target": Array [ ++ "button[data-hk=\"00000001000001000000000a1080\"]", ++ ], ++ }, ++ ], ++ "tags": Array [ ++ "cat.color", ++ "wcag2aa", ++ "wcag143", ++ "TTv5", ++ "TT13.c", ++ "EN-301-549", ++ "EN-9.1.4.3", ++ "ACT", ++ "RGAAv4", ++ "RGAA-3.2.1", ++ ], ++ }, ++ ] +``` + +# Page snapshot + +```yaml +- generic [ref=e2]: + - main [ref=e3]: + - generic: + - generic: + - generic: + - img + - generic: + - img + - generic: + - img + - generic: + - img + - generic: + - img + - generic [ref=e4]: + - navigation [ref=e6]: + - link "Nxtgauge home" [ref=e7] [cursor=pointer]: + - /url: / + - img "NXTGAUGE" [ref=e8] + - generic [ref=e9]: + - link "Home" [ref=e10] [cursor=pointer]: + - /url: / + - link "Professionals" [ref=e11] [cursor=pointer]: + - /url: /professionals + - link "About Us" [ref=e12] [cursor=pointer]: + - /url: /about + - link "Help Center" [ref=e13] [cursor=pointer]: + - /url: /help-center + - link "Contact Us" [ref=e14] [cursor=pointer]: + - /url: /contact + - link "Login" [ref=e16] [cursor=pointer]: + - /url: /login + - generic [ref=e18]: + - generic [ref=e19]: + - heading "Trusted hiring and opportunities, verified." [level=1] [ref=e20] + - paragraph [ref=e21]: Hire trusted professionals, post verified jobs, and apply faster in one platform. + - generic [ref=e22]: + - link "Get Started" [ref=e23] [cursor=pointer]: + - /url: /signup/customer + - link "How It Works" [ref=e24] [cursor=pointer]: + - /url: /#how-it-works + - paragraph [ref=e25]: Most profile and listing reviews are completed within 24-48 hours. + - region "Nxtgauge opportunity graph preview" [ref=e27]: + - generic [ref=e28]: + - generic [ref=e29]: + - img [ref=e30] + - generic [ref=e47]: Developer + - generic [ref=e48]: + - generic [ref=e49]: + - generic [ref=e50]: ✓ + - generic [ref=e51]: Everything from Nxtgauge + - paragraph [ref=e52]: Opportunity Workspace + - generic [ref=e53]: + - strong [ref=e54]: Verified Profiles + - generic [ref=e55]: Trust layer ready + - generic [ref=e56]: + - strong [ref=e57]: Matched Opportunities + - generic [ref=e58]: Priority queue + - generic [ref=e59]: + - strong [ref=e60]: Responses + - generic [ref=e61]: Tracked in one flow + - generic [ref=e62]: + - strong [ref=e63]: Updates + - generic [ref=e64]: Live status signals + - paragraph [ref=e66]: Opportunities start scattered + - generic [ref=e68]: + - generic [ref=e70]: + - heading "Who Nxtgauge is for" [level=2] [ref=e71] + - paragraph [ref=e72]: Start with one account, then activate the journey you need. + - generic [ref=e73]: + - article [ref=e74]: + - img "Post a Job" [ref=e76] + - generic [ref=e78]: + - generic [ref=e79]: + - img [ref=e81] + - generic [ref=e85]: + - img [ref=e86] + - text: Company + - heading "Post a Job" [level=3] [ref=e89] + - paragraph [ref=e90]: Create verified job openings and find the right talent faster. + - link "Explore Company" [ref=e91] [cursor=pointer]: + - /url: /roles/company + - article [ref=e92]: + - img "Apply for Jobs" [ref=e94] + - generic [ref=e96]: + - generic [ref=e97]: + - img [ref=e99] + - generic [ref=e102]: + - img [ref=e103] + - text: Job Seeker + - heading "Apply for Jobs" [level=3] [ref=e106] + - paragraph [ref=e107]: Build your profile and apply to approved opportunities quickly. + - link "Explore Job Seeker" [ref=e108] [cursor=pointer]: + - /url: /roles/job-seeker + - article [ref=e109]: + - img "Hire a Professional" [ref=e111] + - generic [ref=e113]: + - generic [ref=e114]: + - img [ref=e116] + - generic [ref=e121]: + - img [ref=e122] + - text: Customer + - heading "Hire a Professional" [level=3] [ref=e125] + - paragraph [ref=e126]: Post your requirement and discover trusted specialists. + - link "Explore Customer" [ref=e127] [cursor=pointer]: + - /url: /roles/customer + - article [ref=e128]: + - img "Join as Professional" [ref=e130] + - generic [ref=e132]: + - generic [ref=e133]: + - img [ref=e135] + - generic [ref=e139]: + - img [ref=e140] + - text: Professional + - heading "Join as Professional" [level=3] [ref=e143] + - paragraph [ref=e144]: Create a trusted profile and grow through verified demand. + - link "Explore Professionals" [ref=e145] [cursor=pointer]: + - /url: /professionals + - generic [ref=e147]: + - generic [ref=e148]: + - heading "Explore professional categories" [level=2] [ref=e150] + - link "View all professionals" [ref=e151] [cursor=pointer]: + - /url: /professionals + - generic [ref=e152]: + - button "All" [ref=e153] [cursor=pointer] + - button "Creative" [ref=e154] [cursor=pointer] + - button "Tech" [ref=e155] [cursor=pointer] + - button "Education" [ref=e156] [cursor=pointer] + - button "Wellness" [ref=e157] [cursor=pointer] + - button "Events" [ref=e158] [cursor=pointer] + - button "Marketing" [ref=e159] [cursor=pointer] + - generic [ref=e160]: + - article [ref=e161]: + - img "Developer" [ref=e163] + - generic [ref=e165]: + - generic [ref=e167]: tech + - heading "Developer" [level=3] [ref=e168] + - paragraph [ref=e169]: Join Nxtgauge as a Developer and connect with customers and companies through a trust-first workflow. + - generic [ref=e170]: + - link "Explore Developer" [ref=e171] [cursor=pointer]: + - /url: /professionals/developer + - link "Join Developer" [ref=e172] [cursor=pointer]: + - /url: /signup?intent=professional&role=DEVELOPER + - article [ref=e173]: + - img "Photographer" [ref=e175] + - generic [ref=e177]: + - generic [ref=e179]: creative + - heading "Photographer" [level=3] [ref=e180] + - paragraph [ref=e181]: Join as a Photographer and receive opportunities where trust and profile quality matter. + - generic [ref=e182]: + - link "Explore Photographer" [ref=e183] [cursor=pointer]: + - /url: /professionals/photographer + - link "Join Photographer" [ref=e184] [cursor=pointer]: + - /url: /signup?intent=professional&role=PHOTOGRAPHER + - article [ref=e185]: + - img "Makeup Artist" [ref=e187] + - generic [ref=e189]: + - generic [ref=e191]: creative + - heading "Makeup Artist" [level=3] [ref=e192] + - paragraph [ref=e193]: Join Nxtgauge as a Makeup Artist and connect with verified requirements from customers and event planners. + - generic [ref=e194]: + - link "Explore Makeup Artist" [ref=e195] [cursor=pointer]: + - /url: /professionals/makeup-artist + - link "Join Makeup Artist" [ref=e196] [cursor=pointer]: + - /url: /signup?intent=professional&role=MAKEUP_ARTIST + - article [ref=e197]: + - img "Tutor" [ref=e199] + - generic [ref=e201]: + - generic [ref=e203]: education + - heading "Tutor" [level=3] [ref=e204] + - paragraph [ref=e205]: Join as a Tutor to receive verified educational requirements and present your profile with confidence. + - generic [ref=e206]: + - link "Explore Tutor" [ref=e207] [cursor=pointer]: + - /url: /professionals/tutor + - link "Join Tutor" [ref=e208] [cursor=pointer]: + - /url: /signup?intent=professional&role=TUTOR + - article [ref=e209]: + - img "Video Editor" [ref=e211] + - generic [ref=e213]: + - generic [ref=e215]: creative + - heading "Video Editor" [level=3] [ref=e216] + - paragraph [ref=e217]: Join as a Video Editor and connect with customers and companies through a review-based trust model. + - generic [ref=e218]: + - link "Explore Video Editor" [ref=e219] [cursor=pointer]: + - /url: /professionals/video-editor + - link "Join Video Editor" [ref=e220] [cursor=pointer]: + - /url: /signup?intent=professional&role=VIDEO_EDITOR + - article [ref=e221]: + - img "Graphic Designer" [ref=e223] + - generic [ref=e225]: + - generic [ref=e227]: creative + - heading "Graphic Designer" [level=3] [ref=e228] + - paragraph [ref=e229]: Join as a Graphic Designer to connect with verified requirements and role-relevant opportunities. + - generic [ref=e230]: + - link "Explore Graphic Designer" [ref=e231] [cursor=pointer]: + - /url: /professionals/graphic-designer + - link "Join Graphic Designer" [ref=e232] [cursor=pointer]: + - /url: /signup?intent=professional&role=GRAPHIC_DESIGNER + - article [ref=e233]: + - img "Social Media Manager" [ref=e235] + - generic [ref=e237]: + - generic [ref=e239]: marketing + - heading "Social Media Manager" [level=3] [ref=e240] + - paragraph [ref=e241]: Join as a Social Media Manager and grow with trusted customer and company requirements. + - generic [ref=e242]: + - link "Explore Social Media Manager" [ref=e243] [cursor=pointer]: + - /url: /professionals/social-media-manager + - link "Join Social Media Manager" [ref=e244] [cursor=pointer]: + - /url: /signup?intent=professional&role=SOCIAL_MEDIA_MANAGER + - article [ref=e245]: + - img "Fitness Trainer" [ref=e247] + - generic [ref=e249]: + - generic [ref=e251]: wellness + - heading "Fitness Trainer" [level=3] [ref=e252] + - paragraph [ref=e253]: Join as a Fitness Trainer and grow through profile-led visibility in a trust-first marketplace. + - generic [ref=e254]: + - link "Explore Fitness Trainer" [ref=e255] [cursor=pointer]: + - /url: /professionals/fitness-trainer + - link "Join Fitness Trainer" [ref=e256] [cursor=pointer]: + - /url: /signup?intent=professional&role=FITNESS_TRAINER + - generic [ref=e258]: + - generic [ref=e259]: + - paragraph [ref=e260]: Why Nxtgauge + - heading "Trust, approvals, and better matching in one flow." [level=2] [ref=e261] + - generic [ref=e262]: + - article [ref=e263]: + - generic [ref=e265]: + - paragraph [ref=e266]: Capability 1 of 6 + - img [ref=e268] + - heading "Verified profiles & businesses" [level=3] [ref=e271] + - paragraph [ref=e272]: Identity and profile checks reduce fake submissions and spam. + - generic [ref=e274]: + - button "Show Verified profiles & businesses" [ref=e275]: + - img [ref=e276] + - button "Show Approval-based quality (24-48 hours)" [ref=e279]: + - img [ref=e280] + - button "Show Smart matching using tags/skills" [ref=e282]: + - img [ref=e283] + - button "Show Focused discovery with filters" [ref=e285]: + - img [ref=e286] + - button "Show Controlled contact visibility" [ref=e289]: + - img [ref=e290] + - button "Show Notifications & updates" [ref=e293]: + - img [ref=e294] + - generic [ref=e297]: + - button "Previous slide" [ref=e298]: ◀ + - button "Next slide" [ref=e299]: ▶ + - generic [ref=e301]: + - generic [ref=e302]: + - paragraph [ref=e303]: How it works + - heading "Clear journey, zero confusion" [level=2] [ref=e304] + - article [ref=e305]: + - generic [ref=e306]: + - img "Customers role" [ref=e308] + - generic [ref=e309]: + - paragraph [ref=e310]: Customers + - heading "Hire trusted professionals with less noise" [level=3] [ref=e311] + - paragraph [ref=e312]: Post requirements, pass review checks, and receive better-fit responses. + - generic [ref=e313]: + - paragraph [ref=e314]: Step Flow + - generic [ref=e315]: + - generic [ref=e316]: + - generic [ref=e317]: "1" + - generic [ref=e318]: + - heading "Create account" [level=4] [ref=e319] + - paragraph [ref=e320]: Sign up quickly with customer intent. + - generic [ref=e321]: + - generic [ref=e322]: "2" + - generic [ref=e323]: + - heading "Share requirement" [level=4] [ref=e324] + - paragraph [ref=e325]: Add budget, scope, and timing. + - generic [ref=e326]: + - generic [ref=e327]: "3" + - generic [ref=e328]: + - heading "Review and verify" [level=4] [ref=e329] + - paragraph [ref=e330]: Quality checks run before visibility. + - generic [ref=e331]: + - generic [ref=e332]: "4" + - generic [ref=e333]: + - heading "Track responses" [level=4] [ref=e334] + - paragraph [ref=e335]: Monitor replies and status updates. + - generic [ref=e337]: + - button "Previous role" [ref=e338]: ← + - button "Next role" [ref=e339]: → + - generic [ref=e346]: + - heading "Frequently asked questions" [level=2] [ref=e347] + - paragraph [ref=e348]: Quick answers before you create your account. + - generic [ref=e349]: + - article [ref=e350]: + - button "What is Nxtgauge? ⌄" [ref=e351] [cursor=pointer]: + - generic [ref=e352]: What is Nxtgauge? + - generic [ref=e353]: ⌄ + - paragraph [ref=e354]: Nxtgauge connects customers, professionals, companies, and job seekers in one trusted platform. + - article [ref=e355]: + - button "Who can join Nxtgauge? ⌄" [ref=e356] [cursor=pointer]: + - generic [ref=e357]: Who can join Nxtgauge? + - generic [ref=e358]: ⌄ + - article [ref=e359]: + - button "Why does Nxtgauge require verification? ⌄" [ref=e360] [cursor=pointer]: + - generic [ref=e361]: Why does Nxtgauge require verification? + - generic [ref=e362]: ⌄ + - article [ref=e363]: + - button "How long does account approval take? ⌄" [ref=e364] [cursor=pointer]: + - generic [ref=e365]: How long does account approval take? + - generic [ref=e366]: ⌄ + - article [ref=e367]: + - button "Do I need to choose my role during signup? ⌄" [ref=e368] [cursor=pointer]: + - generic [ref=e369]: Do I need to choose my role during signup? + - generic [ref=e370]: ⌄ + - generic [ref=e372]: + - generic [ref=e373]: + - paragraph [ref=e374]: Quick Actions + - heading "Start with one account. Choose your path after." [level=2] [ref=e375] + - paragraph [ref=e376]: Hire, post, apply, or join as a professional from stable role-specific pages. + - generic [ref=e377]: + - link "Get Started" [ref=e378] [cursor=pointer]: + - /url: /signup/customer + - link "Explore Professionals" [ref=e379] [cursor=pointer]: + - /url: /professionals + - link "Post a Job" [ref=e380] [cursor=pointer]: + - /url: /signup/company + - generic [ref=e382]: + - img "NXTGAUGE" [ref=e383] + - paragraph [ref=e384]: © 2026 Nxtgauge. All rights reserved. + - generic [ref=e385]: + - link "Professionals" [ref=e386] [cursor=pointer]: + - /url: /professionals + - link "Terms" [ref=e387] [cursor=pointer]: + - /url: /terms + - link "Privacy" [ref=e388] [cursor=pointer]: + - /url: /privacy + - link "Help Center" [ref=e389] [cursor=pointer]: + - /url: /help-center + - button "AI Assistant" [ref=e390] [cursor=pointer]: + - img [ref=e391] +``` + +# Test source + +```ts + 1 | import { test, expect } from "@playwright/test"; + 2 | import AxeBuilder from "@axe-core/playwright"; + 3 | + 4 | test.describe("Public Frontend Accessibility", () => { + 5 | test("homepage should have no accessibility violations", async ({ page }) => { + 6 | await page.goto("/"); + 7 | const results = await new AxeBuilder({ page }).analyze(); +> 8 | expect(results.violations).toEqual([]); + | ^ Error: expect(received).toEqual(expected) // deep equality + 9 | }); + 10 | + 11 | test("professionals listing page should be accessible", async ({ page }) => { + 12 | await page.goto("/professionals"); + 13 | const results = await new AxeBuilder({ page }).analyze(); + 14 | expect(results.violations).toEqual([]); + 15 | }); + 16 | }); + 17 | +``` \ No newline at end of file diff --git a/playwright-reports/html/index.html b/playwright-reports/html/index.html index dbf9dfe..a312dce 100644 --- a/playwright-reports/html/index.html +++ b/playwright-reports/html/index.html @@ -7,7 +7,7 @@