{"id":29975367,"url":"https://github.com/woheedev/qa_wolf_take_home","last_synced_at":"2026-04-18T17:32:51.092Z","repository":{"id":308060659,"uuid":"1031474706","full_name":"woheedev/qa_wolf_take_home","owner":"woheedev","description":"A Playwright-based solution for validating article sorting on Hacker News. It scrapes the Hacker News /newest page and verifies that the first 100 articles are sorted from newest to oldest. The script is modular and can be easily adapted for other article pages with minimal modifications.","archived":false,"fork":false,"pushed_at":"2025-08-03T21:55:33.000Z","size":22,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-03T23:27:19.113Z","etag":null,"topics":["hacker-news","javascript","nodejs","playwright","playwright-tests","scraping"],"latest_commit_sha":null,"homepage":"https://www.task-wolf.com/apply-qae","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/woheedev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-03T20:19:02.000Z","updated_at":"2025-08-03T21:55:36.000Z","dependencies_parsed_at":"2025-08-03T23:27:20.191Z","dependency_job_id":"48980c44-d971-43ba-ad23-f87e8bec7f75","html_url":"https://github.com/woheedev/qa_wolf_take_home","commit_stats":null,"previous_names":["woheedev/qa_wolf_take_home"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/woheedev/qa_wolf_take_home","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/woheedev%2Fqa_wolf_take_home","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/woheedev%2Fqa_wolf_take_home/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/woheedev%2Fqa_wolf_take_home/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/woheedev%2Fqa_wolf_take_home/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/woheedev","download_url":"https://codeload.github.com/woheedev/qa_wolf_take_home/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/woheedev%2Fqa_wolf_take_home/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31977964,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T17:30:12.329Z","status":"ssl_error","status_checked_at":"2026-04-18T17:29:59.069Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacker-news","javascript","nodejs","playwright","playwright-tests","scraping"],"created_at":"2025-08-04T08:01:09.174Z","updated_at":"2026-04-18T17:32:51.072Z","avatar_url":"https://github.com/woheedev.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# QA Wolf - Hacker News Article Validator\n\nA Playwright-based solution for validating article sorting on Hacker News. It scrapes the [Hacker News /newest](https://news.ycombinator.com/newest) page and verifies that the first 100 articles are sorted from newest to oldest. The script is modular and can be easily adapted for other article pages with minimal modifications.\n\n## Quick Start\n\n### Install dependencies\n\n```bash\nnpm install\n```\n\n### Run the main script\n\n```bash\nnode index.js\n```\n\nLaunches a browser window and displays the scraping process in real-time.\n\n### Run the test suite\n\n```bash\nnpm test\n```\n\nRuns headless tests across Chromium, Firefox, and WebKit for multiple pages.\n\n### Open test report\n\n```bash\nnpm run report\n```\n\nOpens the most recent test report in your default browser.\n\n## Features\n\n- **`index.js`** – Main scraping script with multi-browser support\n- **`tests/hacker-news.test.js`** – Test suite covering success, failure, and error cases\n- **Cross-browser validation** on Chromium, Firefox, and WebKit\n- **Modular configuration** for URLs, browsers, and selectors\n\n## Configuration\n\nModify the `CONFIG` object in `index.js`:\n\n```javascript\nconst CONFIG = {\n  BROWSER: \"chromium\", // Options: chromium, firefox, or webkit\n  URL: \"https://news.ycombinator.com/newest\",\n  MAX_ARTICLES: 100, // Max articles to scrape\n  // ...\n};\n```\n\n--------------------------------------------------------------------------------\n\n_QA Wolf Take Home Assignment by Frank Rodriguez_\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwoheedev%2Fqa_wolf_take_home","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwoheedev%2Fqa_wolf_take_home","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwoheedev%2Fqa_wolf_take_home/lists"}